IT++ Logo
integration.cpp
Go to the documentation of this file.
1
30
32namespace itpp
33{
34
35//wrapper to convert double(*f)(double) to function object
36class Integrand_Wrapper
37{
38 typedef double(*Ftn)(double);
39 Ftn _f;
40public:
41 explicit Integrand_Wrapper(Ftn f): _f(f) {}
42 double operator()(double x) const {return _f(x);}
43};
44
45
46template double quad(Integrand_Wrapper, double, double, double);
47template double quadl(Integrand_Wrapper, double, double, double);
48
49//--------------------- quad() ----------------------------------------
50double quad(double(*f)(double), double a, double b,
51 double tol)
52{
53 return quad(Integrand_Wrapper(f), a, b, tol);
54}
55
56//--------------------- quadl() ----------------------------------------
57double quadl(double(*f)(double), double a, double b, double tol)
58{
59 return quadl(Integrand_Wrapper(f), a, b, tol);
60}
61
62
63} // namespace itpp
64
66
67
T & operator()(int i)
Get the i element.
Definition array.h:290
Definition of numerical integration.
itpp namespace
Definition itmex.h:37
double quadl(Ftn f, double a, double b, double tol=std::numeric_limits< double >::epsilon())
double quad(Ftn f, double a, double b, double tol=std::numeric_limits< double >::epsilon())
SourceForge Logo

Generated on Mon Jun 10 2024 11:49:18 for IT++ by Doxygen 1.9.8