Multiprecision Support

O2scl

Some O₂scl classes support floating-point types beyond double. Generally, these classes support both long double and the boost::multiprecision types. (Though some of the boost multiprecision types require additional libraries, such as GMP.) In some cases, O₂scl classes use adaptive multiprecision, i.e., the are able to choose among several different floating point types to perform a calculation to a specified accuracy. See also Multiprecision Support for Particles and EOSs.

Unfortunately, the multiprecision support also dramatically increases the compilation time and the associated memory requirements.

List of classes which support adaptive multiprecision:

List of classes which support multiprecision types:

Many of the vector and matrix functions in Arrays, Vectors, Matrices, and Tensors section also support multiprecision.

Multiprecision function typedefs

typedef std::function<long double(long double)> o2scl::funct_ld

One-dimensional long double function in src/base/funct_multip.h.

typedef std::function<cpp_dec_float_25(cpp_dec_float_25)> o2scl::funct_cdf25

One-dimensional Boost 25-digit function in src/base/funct_multip.h.

typedef std::function<mpfr_25(mpfr_25)> o2scl::funct_mpfr25

One-dimensional function typedef in src/base/funct.h.

This typedef is defined only if &#8212;enable-mpfr is selected when when O2scl is configured.