Class inte_i_transform (o2scl)

O2scl : Class List

template<class func_t, class def_inte_t, class fp_t = double>
class o2scl::inte_i_transform : public o2scl::inte<func_t, double>

Integrate over \( (-\infty,\infty) \).

This class uses the GSL approach, employing the transformation

\( x = (1-t)/t \), and giving
\[ \int_{-\infty}^{\infty}~dx f(x) = \int_0^1~dt~\left\{f[(1-t)/t] + f[-(1-t)/t]\right\}/t^2 \]
Note

This class only works if the base integration type def_inte_t avoids evaluating the function at the end points

Integration object

def_inte_t def_inte

Default integration object.

int set_inte(inte<internal_funct, fp_t> &i)

Set the base integration object to use.

const char *type()

Return string denoting type (“inte_i_transform”)

Public Types

typedef std::function<fp_t(fp_t)> internal_funct

Internal function type based on floating-point type.

Public Functions

inte_i_transform()
int integ_i_err(func_t &func, fp_t &res, fp_t &err)

Integrate function func giving result res and error err.

Protected Functions

fp_t transform(fp_t t)

Transform from \( t \in (0,1] \) to \( x \in (-\infty,\infty) \).

Protected Attributes

func_t *user_func

A pointer to the user-specified function.

inte<internal_funct, fp_t> *it

The base integration object.

internal_funct fo

Function object.