|
|
| 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.