[BACK]Return to NEWS CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

Annotation of OpenXM_contrib/gmp/NEWS, Revision 1.1.1.4

1.1.1.4 ! ohara       1: Copyright 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
        !             2:
        !             3: This file is part of the GNU MP Library.
        !             4:
        !             5: The GNU MP Library is free software; you can redistribute it and/or modify
        !             6: it under the terms of the GNU Lesser General Public License as published by
        !             7: the Free Software Foundation; either version 2.1 of the License, or (at your
        !             8: option) any later version.
        !             9:
        !            10: The GNU MP Library is distributed in the hope that it will be useful, but
        !            11: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            12: or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
        !            13: License for more details.
        !            14:
        !            15: You should have received a copy of the GNU Lesser General Public License
        !            16: along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
        !            17: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
        !            18: 02111-1307, USA.
        !            19:
        !            20:
        !            21: Changes between MP version 4.1.1 and 4.1.2
        !            22:
        !            23: * Bug fixes.
        !            24:
        !            25: Changes between MP version 4.1 and 4.1.1
        !            26:
        !            27: * Bug fixes.
        !            28: * New systems supported: NetBSD and OpenBSD sparc64.
        !            29:
        !            30: Changes between MP version 4.0.1 and 4.1
        !            31:
        !            32: * Bug fixes.
        !            33: * Speed improvements.
        !            34: * Upwardly binary compatible with 4.0, 4.0.1, and 3.x versions.
        !            35: * Asymptotically fast conversion to/from strings (mpz, mpq, mpn levels), but
        !            36:   also major speed improvements for tiny operands.
        !            37: * mpn_get_str parameter restrictions relaxed.
        !            38: * Major speed improvments for HPPA 2.0 systems.
        !            39: * Major speed improvments for UltraSPARC systems.
        !            40: * Major speed improvments for IA-64 systems (but still sub-optimal code).
        !            41: * Extended test suite.
        !            42: * mpfr is back, with many bug fixes and portability improvements.
        !            43: * New function: mpz_ui_sub.
        !            44: * New functions: mpz_export, mpz_import.
        !            45: * Optimization for nth root functions (mpz_root, mpz_perfect_power_p).
        !            46: * Optimization for extended gcd (mpz_gcdext, mpz_invert, mpn_gcdext).
        !            47: * Generalized low-level number format, reserving a `nails' part of each
        !            48:   limb.  (Please note that this is really experimental; some functions
        !            49:   are likely to compute garbage when nails are enabled.)
        !            50: * Nails-enabled Alpha 21264 assembly code, allowing up to 75% better
        !            51:   performance.  (Use --enable-nails=4 to enable it.)
        !            52:
        !            53: Changes between MP version 4.0 and 4.0.1
        !            54:
        !            55: * Bug fixes.
        !            56:
        !            57: Changes between MP version 3.1.1 and 4.0
        !            58:
        !            59: * Bug fixes.
        !            60: * Speed improvements.
        !            61: * Upwardly binary compatible with 3.x versions.
        !            62: * New CPU support: IA-64, Pentium 4.
        !            63: * Improved CPU support: 21264, Cray vector systems.
        !            64: * Support for all MIPS ABIs: o32, n32, 64.
        !            65: * New systems supported: Darwin, SCO, Windows DLLs.
        !            66: * New divide-and-conquer square root algorithm.
        !            67: * New algorithms chapter in the manual.
        !            68: * New malloc reentrant temporary memory method.
        !            69: * New C++ class interface by Gerardo Ballabio (beta).
        !            70: * Revamped configure, featuring ABI selection.
        !            71: * Speed improvements for mpz_powm and mpz_powm_ui (mainly affecting small
        !            72:   operands).
        !            73: * mpz_perfect_power_p now properly recognizes 0, 1, and negative perfect
        !            74:   powers.
        !            75: * mpz_hamdist now supports negative operands.
        !            76: * mpz_jacobi now accepts non-positive denominators.
        !            77: * mpz_powm now supports negative exponents.
        !            78: * mpn_mul_1 operand overlap requirements relaxed.
        !            79: * Float input and output uses locale specific decimal point where available.
        !            80: * New gmp_printf, gmp_scanf and related functions.
        !            81: * New division functions: mpz_cdiv_q_2exp, mpz_cdiv_r_2exp, mpz_divexact_ui.
        !            82: * New divisibility tests: mpz_divisible_p, mpz_divisible_ui_p,
        !            83:   mpz_divisible_2exp_p, mpz_congruent_p, mpz_congruent_ui_p,
        !            84:   mpz_congruent_2exp_p.
        !            85: * New Fibonacci function: mpz_fib2_ui.
        !            86: * New Lucas number functions: mpz_lucnum_ui, mpz_lucnum2_ui.
        !            87: * Other new integer functions: mpz_cmp_d, mpz_cmpabs_d, mpz_get_d_2exp,
        !            88:   mpz_init2, mpz_kronecker, mpz_lcm_ui, mpz_realloc2.
        !            89: * New rational I/O: mpq_get_str, mpq_inp_str, mpq_out_str, mpq_set_str.
        !            90: * Other new rational functions: mpq_abs, mpq_cmp_si, mpq_div_2exp,
        !            91:   mpq_mul_2exp, mpq_set_f.
        !            92: * New float tests: mpf_integer_p, mpf_fits_sint_p, mpf_fits_slong_p,
        !            93:   mpf_fits_sshort_p, mpf_fits_uint_p, mpf_fits_ulong_p, mpf_fits_ushort_p.
        !            94: * Other new float functions: mpf_cmp_d, mpf_get_default_prec, mpf_get_si,
        !            95:   mpf_get_ui, mpf_get_d_2exp.
        !            96: * New random functions: gmp_randinit_default, gmp_randinit_lc_2exp_size.
        !            97: * New demo expression string parser (see demos/expr).
        !            98: * New preliminary perl interface (see demos/perl).
        !            99: * Tuned algorithm thresholds for many more CPUs.
        !           100:
1.1.1.3   maekawa   101: Changes between MP version 3.1 and 3.1.1
                    102:
                    103: * Bug fixes for division (rare), mpf_get_str, FFT, and miscellaneous minor
                    104:   things.
                    105:
1.1.1.2   maekawa   106: Changes between MP version 3.0 and 3.1
                    107:
                    108: * Bug fixes.
                    109: * Improved `make check' running more tests.
                    110: * Tuned algorithm cutoff points for many machines.  This will improve speed for
                    111:   a lot of operations, in some cases by a large amount.
                    112: * Major speed improvments: Alpha 21264.
                    113: * Some speed improvments: Cray vector computers, AMD K6 and Athlon, Intel P5
                    114:   and Pentium Pro/II/III.
                    115: * The mpf_get_prec function now works as it did in GMP 2.
                    116: * New utilities for auto-tuning and speed measuring.
                    117: * Multiplication now optionally uses FFT for very large operands.  (To enable
                    118:   it, pass --enable-fft to configure.)
                    119: * Support for new systems: Solaris running on x86, FreeBSD 5, HP-UX 11, Cray
                    120:   vector computers, Rhapsody, Nextstep/Openstep, MacOS.
                    121: * Support for shared libraries on 32-bit HPPA.
                    122: * New integer functions: mpz_mul_si, mpz_odd_p, mpz_even_p.
                    123: * New Kronecker symbol functions: mpz_kronecker_si, mpz_kronecker_ui,
                    124:   mpz_si_kronecker, mpz_ui_kronecker.
                    125: * New rational functions: mpq_out_str, mpq_swap.
                    126: * New float functions: mpf_swap.
                    127: * New mpn functions: mpn_divexact_by3c, mpn_tdiv_qr.
                    128: * New EXPERIMENTAL function layer for accurate floating-point arithmetic, mpfr.
                    129:   To try it, pass --enable-mpfr to configure.  See the mpfr subdirectory for
                    130:   more information; it is not documented in the main GMP manual.
                    131:
                    132: Changes between MP version 3.0 and 3.0.1
                    133:
                    134: * Memory leaks in gmp_randinit and mpz_probab_prime_p fixed.
                    135: * Documentation for gmp_randinit fixed.  Misc documentation errors fixed.
                    136:
                    137: Changes between MP version 2.0 and 3.0
                    138:
                    139: * Source level compatibility with past releases (except mpn_gcd).
                    140: * Bug fixes.
                    141: * Much improved speed thanks to both host independent and host dependent
                    142:   optimizations.
                    143: * Switch to autoconf/automake/libtool.
                    144: * Support for building libgmp as a shared library.
                    145: * Multiplication and squaring using 3-way Toom-Cook.
                    146: * Division using the Burnikel-Ziegler method.
                    147: * New functions computing binomial coefficients: mpz_bin_ui, mpz_bin_uiui.
                    148: * New function computing Fibonacci numbers: mpz_fib_ui.
                    149: * New random number generators: mpf_urandomb, mpz_rrandomb, mpz_urandomb,
                    150:   mpz_urandomm, gmp_randclear, gmp_randinit, gmp_randinit_lc_2exp, gmp_randseed,
                    151:   gmp_randseed_ui.
                    152: * New function for quickly extracting limbs: mpz_getlimbn.
                    153: * New functions performing integer size tests: mpz_fits_sint_p,
                    154:   mpz_fits_slong_p, mpz_fits_sshort_p, mpz_fits_uint_p, mpz_fits_ulong_p,
                    155:   mpz_fits_ushort_p.
                    156: * New mpf functions: mpf_ceil, mpf_floor, mpf_pow_ui, mpf_trunc.
                    157: * New mpq function: mpq_set_d.
                    158: * New mpz functions: mpz_addmul_ui, mpz_cmpabs, mpz_cmpabs_ui, mpz_lcm,
                    159:   mpz_nextprime, mpz_perfect_power_p, mpz_remove, mpz_root, mpz_swap,
                    160:   mpz_tdiv_ui, mpz_tstbit, mpz_xor.
                    161: * New mpn function: mpn_divexact_by3.
                    162: * New CPU support: DEC Alpha 21264, AMD K6 and Athlon, HPPA 2.0 and 64,
                    163:   Intel Pentium Pro and Pentium-II/III, Sparc 64, PowerPC 64.
                    164: * Almost 10 times faster mpz_invert and mpn_gcdext.
                    165: * The interface of mpn_gcd has changed.
                    166: * Better support for MIPS R4x000 and R5000 under Irix 6.
                    167: * Improved support for SPARCv8 and SPARCv9 processors.
                    168:
                    169: Changes between MP version 2.0 and 2.0.2
                    170:
                    171: * Many bug fixes.
                    172:
                    173: Changes between MP version 1.3.2 and 2.0
1.1       maekawa   174:
                    175: * Division routines in the mpz class have changed.  There are three classes of
                    176:   functions, that rounds the quotient to -infinity, 0, and +infinity,
                    177:   respectively.  The first class of functions have names that begin with
                    178:   mpz_fdiv (f is short for floor), the second class' names begin with mpz_tdiv
                    179:   (t is short for trunc), and the third class' names begin with mpz_cdiv (c is
                    180:   short for ceil).
                    181:
                    182:   The old division routines beginning with mpz_m are similar to the new
                    183:   mpz_fdiv, with the exception that some of the new functions return useful
                    184:   values.
                    185:
                    186:   The old function names can still be used.  All the old functions names will
                    187:   now do floor division, not trunc division as some of them used to.  This was
                    188:   changed to make the functions more compatible with common mathematical
                    189:   practice.
                    190:
                    191:   The mpz_mod and mpz_mod_ui functions now compute the mathematical mod
                    192:   function.  I.e., the sign of the 2nd argument is ignored.
                    193:
                    194: * The mpq assignment functions do not canonicalize their results.  A new
                    195:   function, mpq_canonicalize must be called by the user if the result is not
                    196:   known to be canonical.
                    197: * The mpn functions are now documented.  These functions are intended for
                    198:   very time critical applications, or applications that need full control over
                    199:   memory allocation.  Note that the mpn interface is irregular and hard to
                    200:   use.
                    201: * New functions for arbitrary precision floating point arithmetic.  Names
                    202:   begin with `mpf_'.  Associated type mpf_t.
                    203: * New and improved mpz functions, including much faster GCD, fast exact
                    204:   division (mpz_divexact), bit scan (mpz_scan0 and mpz_scan1), and number
                    205:   theoretical functions like Jacobi (mpz_jacobi) and multiplicative inverse
                    206:   (mpz_invert).
                    207: * New variable types (mpz_t and mpq_t) are available that makes syntax of
                    208:   mpz and mpq calls nicer (no need for & before variables).  The MP_INT and
                    209:   MP_RAT types are still available for compatibility.
                    210: * Uses GNU configure.  This makes it possible to choose target architecture
                    211:   and CPU variant, and to compile into a separate object directory.
                    212: * Carefully optimized assembly for important inner loops.  Support for DEC
1.1.1.2   maekawa   213:   Alpha, Amd 29000, HPPA 1.0 and 1.1, Intel Pentium and generic x86, Intel
1.1       maekawa   214:   i960, Motorola MC68000, MC68020, MC88100, and MC88110, Motorola/IBM
                    215:   PowerPC, National NS32000, IBM POWER, MIPS R3000, R4000, SPARCv7,
                    216:   SuperSPARC, generic SPARCv8, and DEC VAX.  Some support also for ARM,
                    217:   Clipper, IBM ROMP (RT), and Pyramid AP/XP.
                    218: * Faster.  Thanks to the assembler code, new algorithms, and general tuning.
                    219:   In particular, the speed on machines without GCC is improved.
                    220: * Support for machines without alloca.
                    221: * Now under the LGPL.
                    222:
                    223: INCOMPATIBILITIES BETWEEN GMP 1 AND GMP 2
                    224:
                    225: * mpq assignment functions do not canonicalize their results.
                    226: * mpz division functions round differently.
                    227: * mpz mod functions now really compute mod.
                    228: * mpz_powm and mpz_powm_ui now really use mod for reduction.
1.1.1.2   maekawa   229:
                    230:
                    231:
                    232: ----------------
                    233: Local variables:
                    234: mode: text
                    235: fill-column: 76
                    236: End:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>