[BACK]Return to NEWS CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / gmp-2.0.2-ssh-2

Annotation of OpenXM/src/kan96xx/gmp-2.0.2-ssh-2/NEWS, Revision 1.1.1.1

1.1       takayama    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>