C++ main module for mmsd Package  1.0
MATH_GammaFunction.h
Go to the documentation of this file.
1 #ifndef MATH_GammaFunction_H
2 #define MATH_GammaFunction_H
3 
4 
5 #include "MATH_Function.h"
6 
7 #include <boost/math/special_functions/gamma.hpp>
8 
16  SP_OBJECT(MATH_GammaFunction);
17 
18  public:
19 
20 
21  // ATTRIBUTES
22  private:
23 
24  //
25  // ASSOCIATIONS
26 
27  protected:
28  // METHODS
29 
30  // CONSTRUCTORS
31 
33  MATH_GammaFunction(void);
34 
35 
36 
37  // DESTRUCTORS
38 
39 
42  virtual ~MATH_GammaFunction(void);
43 
44  // NEW methods
45 
46  public:
49  static inline SP::MATH_GammaFunction New() {
50  SP::MATH_GammaFunction p(new MATH_GammaFunction(),MATH_GammaFunction::Delete());
51  p->setThis(p);
52  return p;
53  };
54 
55 
56 
57 
58  // GET methods
59 
60  // OTHERS methods
61 
65  virtual tReal computeFunction(const tReal& x) {
66  return boost::math::tgamma<tReal>(x);
67  }
68 
72  inline static tReal ComputeFunction(const tReal& x) {
73  return boost::math::tgamma<tReal>(x);
74  }
75 
76 
77 
78 };
79 
80 #endif
This class describes a function function.
Definition: MATH_Function.h:16
This class describes the digamma function.
Definition: MATH_GammaFunction.h:15
static tReal ComputeFunction(const tReal &x)
compute the function return gamma(x);
Definition: MATH_GammaFunction.h:72
MATH_GammaFunction(void)
create a gamma function
Definition: MATH_GammaFunction.cpp:3
virtual tReal computeFunction(const tReal &x)
compute the function return gamma(x);
Definition: MATH_GammaFunction.h:65
static SP::MATH_GammaFunction New()
create a gamma function
Definition: MATH_GammaFunction.h:49
virtual ~MATH_GammaFunction(void)
destroy an gamma funtion
Definition: MATH_GammaFunction.cpp:7
DEFINE_SPTR(MATH_GammaFunction)
#define tReal
Definition: types.h:18
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106