GMP 6.3 is upwardly source and binary compatible with 6.2, 6.1, 6.0, 5.1,
5.0, 4.x, and 3.x, except for applications that use the semi-documented
Changes between GMP version 6.2.* and 6.3.0
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.
This release would not have been possible without the continuous work of
improvement, revision and refinement by the whole GMP team: Torbjörn
Granlund, Niels Möller, Marco Bodrato, and Marc Glisse.
Please see the GMP
manual for a complete list of GMP contributors.