Annotation of OpenXM_contrib/gmp/NEWS, Revision 1.1
1.1 ! maekawa 1: NOTEWORTHY CHANGES IN GNU MP IN VERSION 2
! 2:
! 3: * Division routines in the mpz class have changed. There are three classes of
! 4: functions, that rounds the quotient to -infinity, 0, and +infinity,
! 5: respectively. The first class of functions have names that begin with
! 6: mpz_fdiv (f is short for floor), the second class' names begin with mpz_tdiv
! 7: (t is short for trunc), and the third class' names begin with mpz_cdiv (c is
! 8: short for ceil).
! 9:
! 10: The old division routines beginning with mpz_m are similar to the new
! 11: mpz_fdiv, with the exception that some of the new functions return useful
! 12: values.
! 13:
! 14: The old function names can still be used. All the old functions names will
! 15: now do floor division, not trunc division as some of them used to. This was
! 16: changed to make the functions more compatible with common mathematical
! 17: practice.
! 18:
! 19: The mpz_mod and mpz_mod_ui functions now compute the mathematical mod
! 20: function. I.e., the sign of the 2nd argument is ignored.
! 21:
! 22: * The mpq assignment functions do not canonicalize their results. A new
! 23: function, mpq_canonicalize must be called by the user if the result is not
! 24: known to be canonical.
! 25: * The mpn functions are now documented. These functions are intended for
! 26: very time critical applications, or applications that need full control over
! 27: memory allocation. Note that the mpn interface is irregular and hard to
! 28: use.
! 29: * New functions for arbitrary precision floating point arithmetic. Names
! 30: begin with `mpf_'. Associated type mpf_t.
! 31: * New and improved mpz functions, including much faster GCD, fast exact
! 32: division (mpz_divexact), bit scan (mpz_scan0 and mpz_scan1), and number
! 33: theoretical functions like Jacobi (mpz_jacobi) and multiplicative inverse
! 34: (mpz_invert).
! 35: * New variable types (mpz_t and mpq_t) are available that makes syntax of
! 36: mpz and mpq calls nicer (no need for & before variables). The MP_INT and
! 37: MP_RAT types are still available for compatibility.
! 38: * Uses GNU configure. This makes it possible to choose target architecture
! 39: and CPU variant, and to compile into a separate object directory.
! 40: * Carefully optimized assembly for important inner loops. Support for DEC
! 41: Alpha, Amd 29000, HPPA 1.0 and 1.1, Intel pentium and generic x86, Intel
! 42: i960, Motorola MC68000, MC68020, MC88100, and MC88110, Motorola/IBM
! 43: PowerPC, National NS32000, IBM POWER, MIPS R3000, R4000, SPARCv7,
! 44: SuperSPARC, generic SPARCv8, and DEC VAX. Some support also for ARM,
! 45: Clipper, IBM ROMP (RT), and Pyramid AP/XP.
! 46: * Faster. Thanks to the assembler code, new algorithms, and general tuning.
! 47: In particular, the speed on machines without GCC is improved.
! 48: * Support for machines without alloca.
! 49: * Now under the LGPL.
! 50:
! 51: INCOMPATIBILITIES BETWEEN GMP 1 AND GMP 2
! 52:
! 53: * mpq assignment functions do not canonicalize their results.
! 54: * mpz division functions round differently.
! 55: * mpz mod functions now really compute mod.
! 56: * mpz_powm and mpz_powm_ui now really use mod for reduction.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>