|
| EvalFunction (istream &aist) |
| parse from input stream
|
|
| EvalFunction (const string &str) |
| parse from string
|
|
| EvalFunction (const EvalFunction &eval2) |
|
bool | Parse (istream &aist) |
| parse from stream
|
|
void | DefineConstant (const string &name, double val) |
| define constant
|
|
void | DefineGlobalVariable (const string &name, double *var) |
| define constant
|
|
void | DefineGlobalVariable (const string &name, GenericVariable *var) |
| define constant
|
|
void | DefineArgument (const string &name, int num, int vecdim=1, bool iscomplex=false) |
| define arguments
|
|
double | Eval (const double *x=NULL) const |
| evaluate function
|
|
void | Eval (const double *x, double *y, int ydim) const |
| evaluate multi-value function
|
|
complex< double > | Eval (const complex< double > *x=NULL) const |
| evaluate function
|
|
void | Eval (const complex< double > *x, complex< double > *y, int ydim) const |
| evaluate multi-value complex function
|
|
void | Eval (const complex< double > *x, double *y, int ydim) const |
| evaluate multi-value complex function with real result
|
|
template<typename TIN , typename TCALC > |
void | Eval (const TIN *x, TCALC *stack) const |
|
bool | IsComplex () const |
| is expression complex valued ?
|
|
bool | IsResultComplex () const |
| is expression complex valued ?
|
|
bool | IsConstant () const |
| is expression a constant ?
|
|
double | EvalConstant () const |
| evaluate the constant value
|
|
int | Dimension () const |
| vector dimension of result
|
|
void | AddConstant (double val) |
| push constant on stack.
|
|
void | AddVariable (int varnum) |
| push variable x[varnum-1].
|
|
void | AddGlobVariable (const double *dp) |
| push pointer to global double value.
|
|
void | AddGlobVariable (const GenericVariable *dp) |
| push pointer to global double value.
|
|
void | AddOperation (EVAL_TOKEN op) |
| push operation.
|
|
void | AddFunction (double(*fun)(double)) |
| push function call.
|
|
void | Print (ostream &ost) const |
| print expression
|
|
EVAL_TOKEN | GetToken () const |
| returns last token
|
|
double | GetNumValue () const |
| returns num_value of last token
|
|
int | GetVariableNumber () const |
| returns variable number of last token
|
|
int | GetVariableDimension () const |
| returns dimension of variable of last token
|
|
bool | GetVariableIsComplex () const |
|
const char * | GetStringValue () const |
| returns identifier of last token
|
|
void | ReadNext (bool optional=true) |
| read next token
|
|
void | WriteBack () |
|
bool | ToBool (double x) const |
|
bool | ToBool (complex< double > x) const |
|
double | CheckReal (double x) const |
|
double | CheckReal (complex< double > x) const |
|
double | Abs (double x) const |
|
double | Abs (complex< double > x) const |
|
Numerical expression parser.
The expression is stored in reverse Polnish notation. The evaluation tree can be filled form an external parser, see Addxxx methods.