version 1.1, 2000/01/10 15:35:21 |
version 1.1.1.2, 2000/09/09 14:12:13 |
|
|
NOTEWORTHY CHANGES IN GNU MP IN VERSION 2 |
Changes between MP version 3.0 and 3.1 |
|
|
|
* Bug fixes. |
|
* Improved `make check' running more tests. |
|
* Tuned algorithm cutoff points for many machines. This will improve speed for |
|
a lot of operations, in some cases by a large amount. |
|
* Major speed improvments: Alpha 21264. |
|
* Some speed improvments: Cray vector computers, AMD K6 and Athlon, Intel P5 |
|
and Pentium Pro/II/III. |
|
* The mpf_get_prec function now works as it did in GMP 2. |
|
* New utilities for auto-tuning and speed measuring. |
|
* Multiplication now optionally uses FFT for very large operands. (To enable |
|
it, pass --enable-fft to configure.) |
|
* Support for new systems: Solaris running on x86, FreeBSD 5, HP-UX 11, Cray |
|
vector computers, Rhapsody, Nextstep/Openstep, MacOS. |
|
* Support for shared libraries on 32-bit HPPA. |
|
* New integer functions: mpz_mul_si, mpz_odd_p, mpz_even_p. |
|
* New Kronecker symbol functions: mpz_kronecker_si, mpz_kronecker_ui, |
|
mpz_si_kronecker, mpz_ui_kronecker. |
|
* New rational functions: mpq_out_str, mpq_swap. |
|
* New float functions: mpf_swap. |
|
* New mpn functions: mpn_divexact_by3c, mpn_tdiv_qr. |
|
* New EXPERIMENTAL function layer for accurate floating-point arithmetic, mpfr. |
|
To try it, pass --enable-mpfr to configure. See the mpfr subdirectory for |
|
more information; it is not documented in the main GMP manual. |
|
|
|
Changes between MP version 3.0 and 3.0.1 |
|
|
|
* Memory leaks in gmp_randinit and mpz_probab_prime_p fixed. |
|
* Documentation for gmp_randinit fixed. Misc documentation errors fixed. |
|
|
|
Changes between MP version 2.0 and 3.0 |
|
|
|
* Source level compatibility with past releases (except mpn_gcd). |
|
* Bug fixes. |
|
* Much improved speed thanks to both host independent and host dependent |
|
optimizations. |
|
* Switch to autoconf/automake/libtool. |
|
* Support for building libgmp as a shared library. |
|
* Multiplication and squaring using 3-way Toom-Cook. |
|
* Division using the Burnikel-Ziegler method. |
|
* New functions computing binomial coefficients: mpz_bin_ui, mpz_bin_uiui. |
|
* New function computing Fibonacci numbers: mpz_fib_ui. |
|
* New random number generators: mpf_urandomb, mpz_rrandomb, mpz_urandomb, |
|
mpz_urandomm, gmp_randclear, gmp_randinit, gmp_randinit_lc_2exp, gmp_randseed, |
|
gmp_randseed_ui. |
|
* New function for quickly extracting limbs: mpz_getlimbn. |
|
* New functions performing integer size tests: mpz_fits_sint_p, |
|
mpz_fits_slong_p, mpz_fits_sshort_p, mpz_fits_uint_p, mpz_fits_ulong_p, |
|
mpz_fits_ushort_p. |
|
* New mpf functions: mpf_ceil, mpf_floor, mpf_pow_ui, mpf_trunc. |
|
* New mpq function: mpq_set_d. |
|
* New mpz functions: mpz_addmul_ui, mpz_cmpabs, mpz_cmpabs_ui, mpz_lcm, |
|
mpz_nextprime, mpz_perfect_power_p, mpz_remove, mpz_root, mpz_swap, |
|
mpz_tdiv_ui, mpz_tstbit, mpz_xor. |
|
* New mpn function: mpn_divexact_by3. |
|
* New CPU support: DEC Alpha 21264, AMD K6 and Athlon, HPPA 2.0 and 64, |
|
Intel Pentium Pro and Pentium-II/III, Sparc 64, PowerPC 64. |
|
* Almost 10 times faster mpz_invert and mpn_gcdext. |
|
* The interface of mpn_gcd has changed. |
|
* Better support for MIPS R4x000 and R5000 under Irix 6. |
|
* Improved support for SPARCv8 and SPARCv9 processors. |
|
|
|
Changes between MP version 2.0 and 2.0.2 |
|
|
|
* Many bug fixes. |
|
|
|
Changes between MP version 1.3.2 and 2.0 |
|
|
* Division routines in the mpz class have changed. There are three classes of |
* Division routines in the mpz class have changed. There are three classes of |
functions, that rounds the quotient to -infinity, 0, and +infinity, |
functions, that rounds the quotient to -infinity, 0, and +infinity, |
respectively. The first class of functions have names that begin with |
respectively. The first class of functions have names that begin with |
Line 38 NOTEWORTHY CHANGES IN GNU MP IN VERSION 2 |
|
Line 105 NOTEWORTHY CHANGES IN GNU MP IN VERSION 2 |
|
* Uses GNU configure. This makes it possible to choose target architecture |
* Uses GNU configure. This makes it possible to choose target architecture |
and CPU variant, and to compile into a separate object directory. |
and CPU variant, and to compile into a separate object directory. |
* Carefully optimized assembly for important inner loops. Support for DEC |
* Carefully optimized assembly for important inner loops. Support for DEC |
Alpha, Amd 29000, HPPA 1.0 and 1.1, Intel pentium and generic x86, Intel |
Alpha, Amd 29000, HPPA 1.0 and 1.1, Intel Pentium and generic x86, Intel |
i960, Motorola MC68000, MC68020, MC88100, and MC88110, Motorola/IBM |
i960, Motorola MC68000, MC68020, MC88100, and MC88110, Motorola/IBM |
PowerPC, National NS32000, IBM POWER, MIPS R3000, R4000, SPARCv7, |
PowerPC, National NS32000, IBM POWER, MIPS R3000, R4000, SPARCv7, |
SuperSPARC, generic SPARCv8, and DEC VAX. Some support also for ARM, |
SuperSPARC, generic SPARCv8, and DEC VAX. Some support also for ARM, |
Line 54 INCOMPATIBILITIES BETWEEN GMP 1 AND GMP 2 |
|
Line 121 INCOMPATIBILITIES BETWEEN GMP 1 AND GMP 2 |
|
* mpz division functions round differently. |
* mpz division functions round differently. |
* mpz mod functions now really compute mod. |
* mpz mod functions now really compute mod. |
* mpz_powm and mpz_powm_ui now really use mod for reduction. |
* mpz_powm and mpz_powm_ui now really use mod for reduction. |
|
|
|
|
|
|
|
---------------- |
|
Local variables: |
|
mode: text |
|
fill-column: 76 |
|
End: |