Capabilities

The ExprTk 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, nequal, 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

Calculus:
numerical integration and differentiation