GNU Multiple Precision Arithmetic Library
GMP is a free library for arbitrary precision arithmetic, operating on
signed integers, rational numbers, and floating point numbers. There is
no practical limit to the precision except the ones implied by the
available memory in the machine GMP runs on. GMP has a rich set of
functions, and the functions have a regular interface.
gmp_snprintf now correctly reports an error (returns -1) when snprintf does.
Conversion to double is now more robust even if the configuration process does not recognize the float format.
mpz_powm could return a not completely normalised value, when the exponent was 1 and the base < 0.
mpf_set_str could create invalid mpf_t variables for input strings with many leading zeros.
New C++ functions factorial, primorial and fibonacci for mpz_class.
Functions to detect primality now substitute the first 24 Miller-Rabin iterations with the BPSW test.
Mini-GMP: new functions mpz_2fac_ui and mpz_mfac_uiui.
Mini-GMP: mpz_sizeinbase, mpz_get_str, and mpz_set_str now support bases up to 62.
Mini-GMP: added support for the mpq_t layer.
MIPS r6 cores are now supported.
Major speedup for AMD Ryzen and Epyc thanks to an extensive set of assembly code.
Major speedup for IBM POWER9 thanks to assembly code making use of new madd instruction.
Speedup for 64-bit ARM CPUs thanks to new/improved assembly code.
The n-over-k function mpz_bin_ui has been reimplemented for great speedups for large operands.
Speedup for the worst case of mpz_perfect_power_p.
Speedup for gcd for small and medium size operands.
Speedup for really huge multiplies thanks to much larger FFT tables.
Internal representation of the mpz_t variables now supports lazy allocation; memory is allocated only when a value is stored.
Small improvements and better coverage for the test suite.
The tune/speed program can measure some more functions.
The low-level function mpn_mul no longer diverts to mpn_sqr, users should call mpn_sqr directly when applicable.
New installed files gmp.pc and gmpxx.pc, for use with pkg-config. Contributed by Hugh McMaster.
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format: