Class inte_multip_double_exp_boost (o2scl)¶
-
class inte_multip_double_exp_boost¶
Multiprecision integration class using Boost.
Note
The uncertainties reported by this class depend on those returned by the boost integration object and are occasionally be underestimated.
Public Functions
-
inline inte_multip_double_exp_boost()¶
-
template<typename func_t, class fp_t>
inline int integ_err(func_t &func, fp_t a, fp_t b, fp_t &res, fp_t &err)¶ Integrate function
func
froma
tob
and place the result inres
and the error inerr
.
-
template<typename func_t, class fp_t>
inline int integ_iu_err(func_t &func, fp_t a, fp_t &res, fp_t &err)¶ Integrate function
func
froma
tob
and place the result inres
and the error inerr
.
-
template<typename func_t, class fp_t>
inline int integ_il_err(func_t &func, fp_t b, fp_t &res, fp_t &err)¶ Integrate function
func
froma
tob
and place the result inres
and the error inerr
.
-
template<typename func_t, class fp_t>
inline int integ_i_err(func_t &func, fp_t &res, fp_t &err)¶ Integrate function
func
froma
tob
and place the result inres
and the error inerr
.
-
template<typename func_t, class fp_t>
inline int integ_err_multip(func_t &&func, fp_t a, fp_t b, fp_t &res, fp_t &err, double integ_tol = -1.0)¶ Integrate function
func
froma
tob
using multipreicsion, placing the result inres
and the error inerr
.Warning
For sufficiently difficult integrands, this function may take a very long time to complete.
-
template<typename func_t, class fp_t>
inline int integ_iu_err_multip(func_t &&func, fp_t a, fp_t &res, fp_t &err, double integ_tol = -1.0)¶ Integrate function
func
froma
to \( \infty \) using multipreicsion, placing the result inres
and the error inerr
.Warning
For sufficiently difficult integrands, this function may take a very long time to complete.
-
template<typename func_t, class fp_t>
inline int integ_il_err_multip(func_t &&func, fp_t b, fp_t &res, fp_t &err, double integ_tol = -1.0)¶ Integrate function
func
from \( -\infty \) tob
using multipreicsion, placing the result inres
and the error inerr
.Warning
For sufficiently difficult integrands, this function may take a very long time to complete.
-
template<typename func_t, class fp_t>
inline int integ_i_err_multip(func_t &&func, fp_t &res, fp_t &err, double integ_tol = -1.0)¶ Integrate function
func
from \( -\infty \) to \( \infty \) using multipreicsion, placing the result inres
and the error inerr
.Warning
For sufficiently difficult integrands, this function may take a very long time to complete.
Public Members
-
double tol_rel_multip¶
The maximum relative uncertainty for multipreicsion integrals (default \( -1 \))
-
size_t levels¶
Number of refinement levels in last integral computed.
-
double tol_rel¶
The maximum relative uncertainty in the value of the integral (default \( 10^{-8} \))
-
double tol_abs¶
The maximum absolute uncertainty in the value of the integral (default \( 10^{-8} \))
-
double pow_tol_func¶
Power for tolerance of function evaluations (default 1.33)
-
int verbose¶
Verbosity parameter.
-
bool err_nonconv¶
If true, call the error handler if the integration does not succeed (default true)
Protected Types
-
typedef boost::multiprecision::number<boost::multiprecision::cpp_dec_float<25>> cpp_dec_float_25¶
-
typedef boost::multiprecision::number<boost::multiprecision::cpp_dec_float<35>> cpp_dec_float_35¶
-
typedef boost::multiprecision::number<boost::multiprecision::cpp_dec_float<50>> cpp_dec_float_50¶
-
typedef boost::multiprecision::number<boost::multiprecision::cpp_dec_float<100>> cpp_dec_float_100¶
Protected Functions
-
template<typename func_t, class fp_t>
inline int integ_err_funct(func_t &&func, fp_t a, fp_t b, fp_t &res, fp_t &err, fp_t &L1norm_loc, double target_tol, double integ_tol)¶
-
template<typename func_t, class fp_t>
inline int integ_err_int(func_t &&func, fp_t a, fp_t b, fp_t &res, fp_t &err, fp_t &L1norm, double target_tol, double integ_tol, double func_tol)¶ Integrate function
func
froma
tob
and place the result inres
and the error inerr
.There are three tolerances:
target_tol
is the target tolerance which is sent to the boost integration function. The error value returned by the boost integration function is often larger than thisinteg_tol
is the desired final tolerance of the integration. This function regards the integration as a failure if the error value is larger thaninteg_tol
func_tol
is the tolerance for evaluations of the integrand. This value is passed to o2scl::funct_multip.
-
template<typename func_t, class fp_t>
inline int integ_iu_err_int(func_t &&func, fp_t a, fp_t &res, fp_t &err, fp_t &L1norm, double target_tol, double integ_tol, double func_tol)¶ Integrate function
func
froma
to \( \infty \) and place the result inres
and the error inerr
.There are three tolerances:
target_tol
is the target tolerance which is sent to the boost integration function. The error value returned by the boost integration function is often larger than thisinteg_tol
is the desired final tolerance of the integration. This function regards the integration as a failure if the error value is larger thaninteg_tol
func_tol
is the tolerance for evaluations of the integrand. This value is passed to o2scl::funct_multip.
-
template<typename func_t, class fp_t>
inline int integ_il_err_int(func_t &&func, fp_t b, fp_t &res, fp_t &err, fp_t &L1norm, double target_tol, double integ_tol, double func_tol)¶ Integrate function
func
froma
to \( \infty \) and place the result inres
and the error inerr
.There are three tolerances:
target_tol
is the target tolerance which is sent to the boost integration function. The error value returned by the boost integration function is often larger than thisinteg_tol
is the desired final tolerance of the integration. This function regards the integration as a failure if the error value is larger thaninteg_tol
func_tol
is the tolerance for evaluations of the integrand. This value is passed to o2scl::funct_multip.
-
template<typename func_t, class fp_t>
inline int integ_i_err_int(func_t &&func, fp_t &res, fp_t &err, fp_t &L1norm, double target_tol, double integ_tol, double func_tol)¶ Integrate function
func
froma
to \( \infty \) and place the result inres
and the error inerr
.There are three tolerances:
target_tol
is the target tolerance which is sent to the boost integration function. The error value returned by the boost integration function is often larger than thisinteg_tol
is the desired final tolerance of the integration. This function regards the integration as a failure if the error value is larger thaninteg_tol
func_tol
is the tolerance for evaluations of the integrand. This value is passed to o2scl::funct_multip.
Protected Attributes
-
size_t max_refine¶
Maximum refinement level.
-
inline inte_multip_double_exp_boost()¶