Cauchy principal value integration (CERNLIB) More...
#include <inte_cauchy_cern.h>
The location of the singularity must be specified before-hand in inte_cauchy_cern::s, and the singularity must not be at one of the endpoints. Note that when integrating a function of the form , the denominator
must be specified in the argument
func
to integ(). This is different from how the inte_qawc_gsl operates.
The method from Longman58 is used for the decomposition of the integral, and the resulting integrals are computed using a user-specified base integration object.
The uncertainty in the integral is not calculated, and is always given as zero. The default base integration object is of type inte_gauss_cern. This is the CERNLIB default, but can be modified by calling set_inte(). If the singularity is outside the region of integration, then the result from the base integration object is returned without calling the error handler.
Possible errors for integ() and integ_err():
double
and long
double
for the floating point type fp_t
.This function is based on the CERNLIB routines RCAUCH and DCAUCH which are documented at http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/d104/top.html
Definition at line 71 of file inte_cauchy_cern.h.
Public Member Functions | |
int | set_inte (inte< func_t, fp_t > &i) |
Set the base integration object to use (default is inte_cauchy_cern::def_inte of type inte_gauss_cern) | |
virtual int | integ_err (func_t &func, fp_t a, fp_t b, fp_t &res, fp_t &err) |
Integrate function func from a to b . | |
![]() | |
virtual double | integ (func_t &func, double a, double b) |
Integrate function func from a to b . | |
virtual int | integ_err (func_t &func, double a, double b, double &res, double &err)=0 |
Integrate function func from a to b and place the result in res and the error in err . | |
double | get_error () |
Return the numerically estimated error in the result from the last call to integ() More... | |
virtual const char * | type () |
Return string denoting type ("inte") | |
Public Attributes | |
const fp_t * | w |
const fp_t * | x |
weights_t | wgts |
fp_t | s |
The singularity (must be set before calling integ() or integ_err()) | |
inte_gauss_cern< func_t, fp_t > | def_inte |
Default integration object. | |
![]() | |
int | verbose |
Verbosity. | |
size_t | last_iter |
The most recent number of iterations taken. | |
double | tol_rel |
The maximum relative uncertainty in the value of the integral (default ![]() | |
double | tol_abs |
The maximum absolute uncertainty in the value of the integral (default ![]() | |
bool | err_nonconv |
If true, call the error handler if the routine does not converge or reach the desired tolerance (default true) More... | |
Protected Attributes | |
inte< func_t, fp_t > * | it |
The base integration object. | |
![]() | |
double | interror |
The uncertainty for the last integration computation. | |
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).