Annotation of OpenXM/src/kan96xx/gmp-2.0.2/NEWS, Revision 1.1.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>