A new major release of the GNU Multiple Precision Arithmetic Library (GMP) is now available. The new release is identified as 5.1.0.
The release can be downloaded from here: ftp://ftp.gmplib.org/pub/gmp-5.1.0/gmp-5.1.0.tar.bz2 ftp://ftp.gmplib.org/pub/gmp-5.1.0/gmp-5.1.0.tar.xz These files should also soon be found at the GNU main site as well as its many mirrors. The 5.1.0 release contains lots of new code, and many improvements to existing code. Please see below for the some highlights. It cannot be said enough times: Please run "make check" after you've built your library. And if "make check" stops with an error, do not use the compiled library. When this happens, you've almost surely run into a compiler bug, not a GMP bug, since we've of course made sure the library passes its own test suite. The first thing to try at this point is using a different compiler. See also http://gmplib.org/. This release would not have been possible without the very devoted work of Niels Möller and Marco Bodrato, or Marc Glisse's work on the C++ interface. As usual, Torbjörn Granlund coordinated the development and release, and did a fair amount of development work himself. Changes between GMP version 5.0.* and 5.1.0 BUGS FIXED * When reading a C++ number (like mpz_class) in an istream reaches the end of the stream, the eofbit is now set. * The result sign of mpz_rootrem's remainder is now always correct. * The mpz_remove function now handles negative divisors. * Contains all fixes from release 5.0.5. SPEEDUPS * The n-factorial and n-over-k functions have been reimplemented for great speedups for small and large operands. * New subquadratic algorithm for the Kronecker/Jacobi/Legendre symbol. * Major speedup for ARM, in particular ARM Cortex-A9 and A15, thanks to broad assembly support. * Significant speedup or POWER6 and POWER7 thanks to improved assembly. * The performance under M$ Windows' 64-bit ABI has been greatly improved thanks to complete assembly support. * Minor speed improvements of many functions and for many platforms. FEATURES * Many new CPUs recognised. * New functions for multi-factorials, and primorial: mpz_2fac_ui, mpz_mfac_uiui and mpz_primorial_ui. * The mpz_powm_sec function now uses side-channel silent division for converting into Montgomery residues. * The fat binary mechanism is now more robust in its CPU recognition. MISC * Inclusion of assembly code is now controlled by the configure options --enable-assembly and --disable-assembly. The "none" CPU targets is gone. * In C++, the conversions mpq_class->mpz_class, mpf_class->mpz_class and mpf_class->mpq_class are now explicit. * Includes "mini-gmp", a small, portable, but less efficient, implementation of a subset of GMP's mpn and mpz interfaces. Used in GMP bootstrap, but it can also be bundled with applications as a fallback when the real GMP library is unavailable. * The ABIs under AIX are no longer called aix32 and aix64, but mode64 and 32. This is more consistent with other powerpc systems. * The coverage of the testsuite has been improved, using the lcov tool. See also http://gmplib.org/devel/lcov/. * It is now possible to compile GMP using a C++ compiler. * K&R C compilers are no longer supported. * The BSD MP compatibility functions have been removed. Torbjörn's work on GMP is sponsored by Stiftelsen för Strategisk Forskning, through CIAM at KTH, http://www.kth.se/sci/centra/ciam. -- Torbjörn _______________________________________________ GNU Announcement mailing list <[email protected]> https://lists.gnu.org/mailman/listinfo/info-gnu
