On Mar 16, 2007, at 1:34 PM, William Stein wrote:
> The ntl.pyx file should never vanish. One of the main points of > SAGE is that > it provides an interpreter interface to a wide range of major open > source math software. NTL is one of these pieses of major open source > math software. The > ntl.pyx file provides NTL with almost the same *semantics* as NTL. > For this, the objects in ntl.pyx must stay mutable (since they are in > ntl), and the file itself obviously should continue to exist. That > said, as David H suggests objects like > polynomials over ZZ, etc., would probably be best implemented by > directly > calling the NTL library instead of going through ntl.pyx. Fair enough. > It is still not clear to me that the ntl_wrap.* structure is slower > than anything else for ntl.pyx, since couldn't one inline everything > and compile with a C++ compiler? I'm not saying it isn't slower, only > that it isn't clear to me that it has to be slower. It's not just slowness (which as you say, still needs to be demonstrated). Another issue is maintainability. If we can wrap C++ directly in ntl.pyx, why have another C++ layer? For example, when I was writing the fast ZZ<->mpz_t code a few weeks back, I needed to touch three layers of code: Polynomial_integer_dense, ntl.pyx, and ntl_wrap.cc. It was pretty annoying. David --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
