From tg at gmplib.org Sun Jul 30 15:35:17 2023 From: tg at gmplib.org (=?utf-8?Q?Torbj=C3=B6rn_Granlund?=) Date: Sun, 30 Jul 2023 15:35:17 +0200 Subject: GMP 6.3.0 released Message-ID: <8635157ca2.fsf@shell.gmplib.org> A new release of the GNU Multiple Precision Arithmetic Library (GMP) is now available. The new release is identified as 6.3.0. The release can be downloaded from here: https://gmplib.org/download/gmp/gmp-6.3.0.tar.lz (smallest) https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz https://gmplib.org/download/gmp/gmp-6.3.0.tar.zst https://gmplib.org/download/gmp/gmp-6.3.0.tar.bz2 https://gmplib.org/download/gmp/gmp-6.3.0.tar.gz (largest) (The signature files for the .zst are missing at the time of writing this, but that should be sorted soon.) These files can also be found at the GNU main site as well as its many mirrors. (The .zst file and signature are missing from gnu.org and its mirrors at the time of writing this.) Signature files are also available: https://gmplib.org/download/gmp/gmp-6.3.0.tar.lz.sig https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz.sig https://gmplib.org/download/gmp/gmp-6.3.0.tar.zst.sig (available soon) https://gmplib.org/download/gmp/gmp-6.3.0.tar.bz2.sig The 6.3.0 release is a feature release, with an asortment of improvements and improved portability. As usually, we repeat and underline: 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 https://gmplib.org/. Thanks to both the broad testing and careful development, we expect this to be a very stable release. This release would not have been possible without the continuous work of improvement, revision and refinement by the whole GMP team: Marco Bodrato, Marc Glisse, Torbj?rn Granlund, and Niels M?ller. Changes between GMP version 6.2.* and 6.3.*. BUGS FIXED * A possible overflow of type int is avoided for mpz_cmp on huge operands. * A possible error condition when a malformed file is read with mpz_inp_raw is now correctly handled. FEATURES * New public function mpz_prevprime, companion of the existing mpz_nextprime. * New documented pointer types mpz_ptr, mpz_srcptr, and similar for other GMP types. Refer to the manual for full list and suggested usage. These types have been present in gmp.h at least since GMP-4.0, but previously not advertised to users. * Support for 64-bit Arm under Macos. * Support for the loongarch64 CPU family. * Support for building with LTO, link-time optimisations. SPEEDUPS * New special code for base = 2 in mpz_powm reduces the average time for the functions that test primality. * Speedup for the function mpz_nextprime on large operands. * Speedup for multiplications (some sizes only) thanks to new internal functions to compute small negacyclic products. * Special assembly code for IBM z13 and later "mainframe" CPUs, resulting in a huge speedup. * Improved assembly for several 64-bit x86 CPUs, Risc-V, 64-bit Arm. -- Torbj?rn Please encrypt, key id 0xC8601622