44static const double eu = 0.577215664901532860606;
58 if (
x>-0.223172)
x = -0.223172;
63 double p0 =
Pdf (
x - eps);
65 double p2 =
Pdf (
x + eps);
66 double y1 = 0.5*(p2-p0)/eps;
67 double y2 = (p2-2*p1+p0)/(eps*eps);
70 if (
fabs(dx) < eps) eps = 0.1*
fabs(dx);
71 }
while (
fabs(dx) > 1E-5);
85 return eu-1-std::log(kappa)-beta2;
93 return (1-0.5*beta2)/kappa;
101 return (0.5-beta2/3)/(kappa*kappa) * std::pow ((1-0.5*beta2)/kappa, -1.5);
110 return (1./3-0.25*beta2)*pow (1-0.5*beta2, -2)/kappa;
virtual double Pdf(double x) const =0
Evaluate the Vavilov probability density function.
virtual ~Vavilov()
Destructor.
virtual double GetKappa() const =0
Return the current value of .
virtual double Variance() const
Return the theoretical variance .
virtual double GetBeta2() const =0
Return the current value of .
virtual void SetKappaBeta2(double kappa, double beta2)=0
Change and and recalculate coefficients if necessary.
virtual double Mode() const
Return the value of where the pdf is maximal.
virtual double Mean() const
Return the theoretical mean , where is Euler's constant.
virtual double Skewness() const
Return the theoretical skewness .
virtual double Kurtosis() const
Return the theoretical kurtosis .
Vavilov()
Default constructor.
Namespace for new Math classes and functions.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...