Capabilities¶
The MathExpr expression evaluator supports the following fundamental arithmetic operations, functions and processes:
-
Types: Scalar, Vector, String
-
Basic operators: +, -, *, /, %, ^
-
Assignment: :=, +=, -=, *=, /=, %=
-
Equalities & Inequalities: =, ==, !=, <, <=, >, >=
-
Logic operators: and, mand, mor, nand, nor, not, or, shl, shr, xnor, xor, true, false
-
Functions: abs, avg, ceil, clamp, equal, erf, erfc, exp, expm1, floor, frac, log, log10, log1p, log2, logn, max, min, mul, ncdf, not_equal, root, round, roundn, sgn, sqrt, sum, swap, trunc
-
Trigonometry: acos, acosh, asin, asinh, atan, atanh, atan2, cos, cosh, cot, csc, sec, sin, sinc, sinh, tan, tanh, hypot, rad2deg, deg2grad, deg2rad, grad2deg
-
Control structures: if-then-else, ternary conditional, switch-case, return-statement
-
Loop statements: while, for, repeat-until, break, continue
-
String processing: in, like, ilike, concatenation
-
Optimisations: constant-folding, simple strength reduction and dead code elimination
-
Runtime checks: vector bounds, string bounds, loop iteration, execution-time bounds and compilation process checkpointing, assert statements
-
Calculus: numerical integration and differentiation