GNU MP is a library for arbitrary precision arithmetic,
operating on signed integers, rational numbers, and
floating point numbers.
It has a rich set of functions, and the functions have a
regular interface.
GNU MP is 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, by carefully optimized assembly code for the
most common inner loops for a lot of CPUs, and by a general
emphasis on speed (instead of simplicity or elegance).
The speed of GNU MP is believed to be faster than any other
similar library. The advantage for GNU MP increases with
the operand sizes for certain operations, since GNU MP in
many cases has asymptotically faster algorithms.