GMP 6.3.0 released

Torbjörn Granlund tg at
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:   (smallest)   (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 and its
mirrors at the time of writing this.)

Signature files are also available:  (available soon)

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

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.*.

  * 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.

  * New public function mpz_prevprime, companion of the existing

  * 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.

  * 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.

Please encrypt, key id 0xC8601622

More information about the gmp-announce mailing list