With much trepidation, I have introduced a (hopefully minor)
backward incompatibility into NTL.  

The interface to the single-precision modular arithmetic 
routines has been modified slightly.
This interface change allows for more flexible and more
efficient implementation of these routines,
which play a crucial role at many levels in NTL.

Basically, these changes to the interface abstract away
some implementation details that arguably should never been there
in the first place.
By coding to the new interface, NTL clients will be able to 
benefit from the current and future improvements.

In particular, on 64-bit x86/GCC platforms, single precision
moduli can now be up to 60 bits, rather than 50 bits.
While some operations may in fact be a little slower, the most important
ones (like MulModPrecon) should not be.
Using larger moduli speeds up a number of things, like ZZ_pX
arithmetic, as fewer primes need to be used in Chinese Remaindering steps.
Other applications benefit from larger moduli as well.

It is expected that most NTL clients will not be affected at all.
Moreover, any code that needs to be updated will be detected
by the compiler, and the updates should be simple and mechanical.
There is also a configuration flag that will enable the legacy
interface (although this is not recommended practice).

For more, go to http://www.shoup.net/ntl



-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to