MPFR - C library for multiple-precision floating-point computations with exact rounding
The MPFR library is a C library for multiple-precision floating-point computations with exact rounding (also called correct rounding). It is based on the GMP multiple-precision library.
The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics. It copies the good ideas from the ANSI/IEEE-754 standard for double-precision floating-point arithmetic (53-bit mantissa).
MPFR is free. It is distributed under the GNU Lesser General Public License (GNU Lesser GPL). The library has been registered in France by the Agence de Protection des Programmes under the number IDDN FR 001 120020 00 R P 2000 000 10800, on 15 March 2000. This license guarantees your freedom to share and change MPFR, to make sure MPFR is free for all its users. Unlike the ordinary General Public License, the Lesser GPL enables developers of non-free programs to use MPFR in their programs.
Here, you can also find other related free software as listed below.
- MAPM, a portable arbitrary precision math library in C, by Michael C. Ring.
- CoStLy, a Complex interval Standard functions Library developed by Markus Neher (Karlsruhe).
- The XSC-Languages, FI_LIB, FILIB++ and intpak software developed at University of Wuppertal (Germany).
- The Core library: a library for robust numerical and geometric computation.
- The MathLib library (LGPL), which provides exact rounding in double precision for rounding to nearest. The current version implements atan, atan2, asin, acos, exp, log, pow, sin, cos, tan, sqrt, remainder.
- The CLN C++ library (GPL).
- The Quad-Double package by David Bailey, Yozo Hida and Sherry Li.
- The numerical difference utility from Nelson Beebe, similar to diff but for numerical files.
- The General Multiprecision PYthon project: a GMP interface for the Python language.
- The Constructive Reals Calculator from Hans Boehm.
- The xrc - exact reals in C from Keith Briggs.
- The precise computation software from Oliver Aberth.
- The RR class from NTL, which implements a smooth extension of IEEE floating point to arbitrary precision and guarantees a platform-independent behavior.
- A continued-fraction package based on GMP, by François Balsalobre.
- SCSLib, a fast and lightweight multiple-precision library supporting the four arithmetic operations, developed in the Arenaire project at ENS-Lyon (France); the precision (210 bits by default) is fixed at compile time. Crlibm, a correctly-rounded elementary function library.
- Sun’s libmcr, a correctly-rounded library of basic double-precision transcendental elementary functions.
- The PreciseFloating (floating-point arithmetic library) project in Java, by Daniel Aioanei: directed rounding, rational arithmetic and arbitrary precision arithmetic based on regular continued fraction expansions.
- The decNumber package by Mike Cowlishaw (IBM): arbitrary-precision decimal arithmetic.
- The calc calculator by Landon Curt Noll. This calculator implements a rational arithmetic, with a fallback to some kind of multiple-precision fixed-point arithmetic (integer multiplied by a configurable epsilon).
- The Qalculate calculator by Niklas Knutsson, based on CLN.
