7.12 Evaluate expression

MathGL have a special classes mglExpr and mglExprC for evaluating of formula specified by the string for real and complex numbers correspondingly. These classes are defined in #include <mgl2/data.h> and #include <mgl2/datac.h> correspondingly. It is the fast variant of formula evaluation. At creation it will be recognized and compiled to tree-like internal code. At evaluation stage only fast calculations are performed. There is no difference between lower or upper case in formulas. If argument value lie outside the range of function definition then function returns NaN. See Textual formulas.

Constructor on mglExpr: mglExpr (const char *expr)
Constructor on mglExprC: mglExprC (const char *expr)
C function: HMEX mgl_create_expr (const char *expr)
C function: HAEX mgl_create_cexpr (const char *expr)

Parses the formula expr and creates formula-tree. Constructor recursively parses the formula and creates a tree-like structure containing functions and operators for fast further evaluating by Calc() or CalcD() functions.

Destructor on mglExpr: ~mglExpr ()
Destructor on mglExprC: ~mglExprC ()
C function: void mgl_delete_expr (HMEX ex)
C function: void mgl_delete_cexpr (HAEX ex)

Deletes the instance of class mglExpr.

Method on mglExpr: mreal Eval (mreal x, mreal y, mreal z)
Method on mglExprC: dual Eval (dual x, dual y, dual z)
C function: mreal mgl_expr_eval (HMEX ex, mreal x, mreal y, mreal z)
C function: dual mgl_cexpr_eval (HAEX ex, dual x, dual y, dual z)

Evaluates the formula for 'x','r'=x, 'y','n'=y, 'z','t'=z, 'a','u'=u.

Method on mglExpr: mreal Eval (mreal var[26])
Method on mglExprC: dual Eval (dual var[26])
C function: mreal mgl_expr_eval_v (HMEX ex, mreal *var)
C function: dual mgl_expr_eval_v (HAEX ex, dual *var)

Evaluates the formula for variables in array var[0,...,’z’-’a’].

Method on mglExpr: mreal Diff (char dir, mreal x, mreal y, mreal z)
C function: mreal mgl_expr_diff (HMEX ex, char dir, mreal x, mreal y, mreal z)

Evaluates the formula derivation respect to dir for 'x','r'=x, 'y','n'=y, 'z','t'=z, 'a','u'=u.

Method on mglExpr: mreal Diff (char dir, mreal var[26])
C function: mreal mgl_expr_diff_v (HMEX ex, char dir, mreal *var)

Evaluates the formula derivation respect to dir for variables in array var[0,...,’z’-’a’].