The GNU Multiple-Precision Library, also known as 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. The basic interface is for C but wrappers exist for other languages including C++, OCaml, Perl, and Python.
GMP aims to be faster than any other bignum library for all operand sizes. Some important factors towards this end are:
The first GMP release was made in 1991. It is continually developed and maintained, with a new release about once a year. The current release is 4.2.4.