Multiprecision Support¶
Contents
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.