C++ main module for gpm Package  1.0
MATH_LNFunction.h
Go to the documentation of this file.
1 #ifndef MATH_LNFunction_H
2 #define MATH_LNFunction_H
3 
5 
15  SP_OBJECT(MATH_LNFunction);
16 
17  // ATTRIBUTES
18 
19 
20 protected:
21  // METHODS
22 
23  // CONSTRUCTORS
24 
28  setSymbol("ln");
29  }
30 
31 
32 
33  // DESTRUCTORS
34 
35 
38  virtual ~MATH_LNFunction(void) {
39  }
40 
41 
42 private:
43 
44 public:
47  static inline SP::MATH_LNFunction New() {
48  SP::MATH_LNFunction p(new MATH_LNFunction(),MATH_LNFunction::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 
66 public:
67  // OTHERS methods
68 
71  virtual double computeFunction(const double* values,const int& n) const {
72  if (values[0]<0) {
73  throw CORE_Exception("MATH_LNFunction",
74  "computeFunction("+CORE_Real::toString(values[0])+")",
75  "arguments out of range");
76  return 0;
77  }
78  return log(values[0]);
79  }
80 
81 
82 };
83 
84 #endif
This class decribes a numerical function.
Definition: MATH_NumericalFunction.h:14
This class decribes a neparian logarithm function.
Definition: MATH_LNFunction.h:14
virtual ~MATH_LNFunction(void)
destroy
Definition: MATH_LNFunction.h:38
static SP::MATH_LNFunction New()
create a node expression
Definition: MATH_LNFunction.h:47
MATH_LNFunction(void)
create
Definition: MATH_LNFunction.h:27
this class describes the exceptions raised for CORE package
Definition: CORE_Exception.h:15
void setSymbol(const tString &tag)
set the symbol
Definition: MATH_LeafExpression.h:86
tString toString() const
return the string associated to the real
Definition: CORE_Real.h:89
virtual double computeFunction(const double *values, const int &n) const
compute the function
Definition: MATH_LNFunction.h:71
virtual SP::MATH_FunctionNode newInstance() const
create a node expression
Definition: MATH_LNFunction.h:55
DEFINE_SPTR(MATH_LNFunction)
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106