MP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. The precision at which calculations can be done is practically limited only by the memory of the computer running GMP. GMP has a rich set of functions, and the functions have a regular interface.
The main target applications for GMP are cryptography applications and research, Internet security applications, algebra systems, computational algebra research, etc.
GMP is carefully designed to be as fast as possible, both for small operands and for huge operands. The speed is achieved by using fullwords as the basic arithmetic type, by using fast algorithms, with highly optimised assembly code for the most common inner loops for a lot of CPUs, and by a general emphasis on speed.
GMP is faster than any other bignum library. The advantage for GMP increases with the operand sizes for many operations, since GMP uses asymptotically faster algorithms.
The first GMP release was made in 1991. It is continually developed and maintained, with a new release about once a year.
What's New in This Release: [ read full changelog ]
· Fat builds fixed.
· Fixed crash for huge multiplies when old FFT_TABLE2 type of parameter selection tables' sentinel was smaller than multiplied operands.
· The solib numbers now reflect the removal of the documented but preliminary mpn_bdivmod function; we correctly flag incompatibility with GMP 4.3. GMP 5.0.0 has this wrong, and should perhaps be uninstalled to avoid confusion.
· Multiplication of large numbers has indirectly been sped up through better FFT tuning and processor recognition. Since many operations depend on multiplication, there will be a general speedup.
· More Core i3, i5 an Core i7 processor models are recognised.
· Fixes and workarounds for Mac OS quirks should make this GMP version build using many of the different versions of "Xcode".
· The amount of scratch memory needed for multiplication of huge numbers have been reduced substantially (but is still larger than in GMP 4.3.)
· Likewise, the amount of scratch memory needed for division of large numbers have been reduced substantially.
· The FFT tuning code of tune/tuneup.c has been completely rewritten, and new, large FFT parameter selection tables are provided for many machines.
· Upgraded to the latest autoconf, automake, libtool.