MPFR is a portable library written in C for arbitrary precision arithmetic
on floating-point numbers. It is based on the GNU MP library.
It aims to extend the class of floating-point numbers provided by the
GNU MP library by a precise semantics. The main differences
with the mpf
class from GNU MP are:
mp_bits_per_limb
(32 or 64 on most machines);
In particular, with a precision of 53 bits, MPFR should be able to
exactly reproduce all computations with double-precision machine
floating-point numbers (e.g., double
type in C, with a C
implementation that rigorously follows Annex F of the ISO C99 standard
and FP_CONTRACT
pragma set to OFF
) on the four arithmetic
operations and the square root, except the default exponent range is much
wider and subnormal numbers are not implemented (but can be emulated).
This version of MPFR is released under the GNU Lesser General Public License, Version 2.1 or any later version. It is permitted to link MPFR to most non-free programs, as long as when distributing them the MPFR source code and a means to re-link with a modified MPFR library is provided.
Everyone should read MPFR Basics. If you need to install the library yourself, you need to read Installing MPFR, too.
The rest of the manual can be used for later reference, although it is probably a good idea to glance through it.