1 |
And Victor just announce ntl 9.0 on sage-devel: |
2 |
|
3 |
With much trepidation, I have introduced a (hopefully minor) |
4 |
backward incompatibility into NTL. |
5 |
|
6 |
The interface to the single-precision modular arithmetic |
7 |
routines has been modified slightly. |
8 |
This interface change allows for more flexible and more |
9 |
efficient implementation of these routines, |
10 |
which play a crucial role at many levels in NTL. |
11 |
|
12 |
Basically, these changes to the interface abstract away |
13 |
some implementation details that arguably should never been there |
14 |
in the first place. |
15 |
By coding to the new interface, NTL clients will be able to |
16 |
benefit from the current and future improvements. |
17 |
|
18 |
In particular, on 64-bit x86/GCC platforms, single precision |
19 |
moduli can now be up to 60 bits, rather than 50 bits. |
20 |
While some operations may in fact be a little slower, the most important |
21 |
ones (like MulModPrecon) should not be. |
22 |
Using larger moduli speeds up a number of things, like ZZ_pX |
23 |
arithmetic, as fewer primes need to be used in Chinese Remaindering steps. |
24 |
Other applications benefit from larger moduli as well. |
25 |
|
26 |
It is expected that most NTL clients will not be affected at all. |
27 |
Moreover, any code that needs to be updated will be detected |
28 |
by the compiler, and the updates should be simple and mechanical. |
29 |
There is also a configuration flag that will enable the legacy |
30 |
interface (although this is not recommended practice). |
31 |
|
32 |
For more, go to http://www.shoup.net/ntl |