Multiprecision Support¶
Some O2scl 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.)
AWS 3/7/20: I don’t use the boost-supplied std::abs() and
std::isfinite() functions for multiprecision types because some
HPC compilers don’t have recent versions of boost installed. I
have currently defined new functions o2scl::o2abs(),
o2scl::o2isfinite(), and
o2scl::o2hypot() which work with both long double and the
boost::multiprecision types.
Testing with multiprecision types is enabled by defining
O2SCL_LD_TYPES at the time the configure script is run.
List of classes which support multiprecision types:
Numerical differentiation: deriv_gsl
Function approximation: cheb_approx_tl
Root-finding: root_brent_gsl and root_toms748
String to double conversion:
o2scl::dtos()Integration: inte_gauss56_cern, inte_gauss_cern, inte_adapt_cern, inte_kronrod_boost, inte_tanh_sinh_boost, inte_exp_sinh_boost, and inte_sinh_sinh_boost.