| Home | Libraries | People | FAQ | More

## Using Boost.Math with High-Precision Floating-Point Libraries

The special functions, distributions, constants and tools in this library can be used with a number of high-precision libraries, including:

- Boost.Multiprecision
- e_float (TOMS Algorithm 910)
- NTL A Library for doing Number Theory
- GNU Multiple Precision Arithmetic Library
- GNU MPFR library
- __float128

The last four have some license restrictions; only Boost.Multiprecision when using the `cpp_float` backend can provide an unrestricted Boost license.

At present, the price of a free license is slightly lower speed.

Of course, the main cost of higher precision is very much decreased (usually at least hundred-fold) computation speed, and big increases in memory use.

Some libraries offer true arbitrary precision arithmetic where the precision is limited only by avilable memory and compute time, but most are used at some arbitrarily-fixed precision, say 100 decimal digits.

Boost.Multiprecision can operate in both ways, but the most popular choice is likely to be about a hundred decimal digits, though examples of computing tens of thousands of digits have been demonstrated.