GMP 6.3.0 released

Torbjörn Granlund tg at gmplib.org
Sun Jul 30 15:35:17 CEST 2023


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


More information about the gmp-announce mailing list