2 #include "AnimaSpecialFunctionsExport.h" 5 #include <boost/math/quadrature/gauss.hpp> 22 void SetInterestZone(
double minVal,
double maxVal);
24 template <
class FunctionType>
27 double deltaPart = 0.0;
28 if (m_DeltaValue > 0.0)
29 deltaPart = boost::math::quadrature::gauss <double, 15>::integrate(integrand, 0.0, m_DeltaValue);
31 double laguerrePart = 0.0;
32 for (
unsigned int i = 0;i < m_Abcissas.size();++i)
33 laguerrePart += m_ValueWeights[i] * integrand(m_ScaleValue * m_Abcissas[i] + m_DeltaValue) * m_ScaleValue;
35 return deltaPart + laguerrePart;
46 const std::vector <double> m_ValueWeights =
48 2.25030314864247252e-1,
49 5.25836052762342454e-1,
50 8.31961391687087088e-1,
67 const std::vector <double> m_Abcissas =
69 8.76494104789278403e-2,
70 4.62696328915080832e-1,
77 1.22142233688661587e1,
78 1.54415273687816171e1,
79 1.91801568567531349e1,
80 2.35159056939919085e1,
81 2.85787297428821404e1,
82 3.45833987022866258e1,
83 4.19404526476883326e1,
double GetIntegralValue(FunctionType integrand)
Computes the Gauss Laguerre quadrature of a function defined from R^+ into R. Recenters the function ...
virtual ~GaussLaguerreQuadrature()