C++ main module for gpm Package  1.0
MATH_POWFunction.h
Go to the documentation of this file.
1 #ifndef MATH_POWFunction_H
2 #define MATH_POWFunction_H
3 
5 
15  SP_OBJECT(MATH_POWFunction);
16 
17  // ATTRIBUTES
18 
19 
20 protected:
21  // METHODS
22 
23  // CONSTRUCTORS
24 
28  setSymbol("pow");
29  }
30 
31 
32 
33  // DESTRUCTORS
34 
35 
38  virtual ~MATH_POWFunction(void) {
39  }
40 
41 
42 private:
43 
44 public:
47  static inline SP::MATH_POWFunction New() {
48  SP::MATH_POWFunction p(new MATH_POWFunction(),MATH_POWFunction::Delete());
49  p->setThis(p);
50  return p;
51  }
52 
55  virtual SP::MATH_FunctionNode newInstance() const {
56  return New();
57  }
58 
59 
60  // SET methods
61 
62 
63  // GET methods
64 
65 public:
66  // OTHERS methods
67 
68 
71  virtual double computeFunction(const double* values,const int& n) const {
72  if (n>=2) return pow(values[0],values[1]);
73  return 1;
74  }
75 
76 };
77 
78 #endif
This class decribes a numerical function.
Definition: MATH_NumericalFunction.h:14
static SP::MATH_POWFunction New()
create a node expression
Definition: MATH_POWFunction.h:47
MATH_POWFunction(void)
create
Definition: MATH_POWFunction.h:27
This class decribes a pow(x,y) function.
Definition: MATH_POWFunction.h:14
virtual double computeFunction(const double *values, const int &n) const
compute the function
Definition: MATH_POWFunction.h:71
virtual ~MATH_POWFunction(void)
destroy
Definition: MATH_POWFunction.h:38
DEFINE_SPTR(MATH_POWFunction)
void setSymbol(const tString &tag)
set the symbol
Definition: MATH_LeafExpression.h:86
virtual SP::MATH_FunctionNode newInstance() const
create a node expression
Definition: MATH_POWFunction.h:55
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106