The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. ExprTk supports numerous forms of functional, logical and vector processing semantics and is very easily extendible.
Download
http://partow.net/programming/exprtk/index.html
Features
- Mathematical operators (+, -, *, /, %, ^)
- Functions (min, max, avg, sum, abs, ceil, floor, round, roundn, exp, log, log10, logn, root, sqrt, clamp, inrange)
- Trigonometry (sin, cos, tan, acos, asin, atan, atan2, cosh, cot, csc, sec, sinh, tanh, d2r, r2d, d2g, g2d, hyp)
- Equalities, Inequalities (=, ==, <>, !=, <, <=, >, >=)
- Assignment (:=, +=, -=, *=, /=)
- Boolean logic (and, nand, nor, not, or, xor, xnor, mand, mor)
- Control Structures (if-then-else, ternary conditional, switch case)
- Loop Structures (while loop, for loop, repeat until loop, break, continue)
- Optimization of expressions (constant folding, strength reduction, operator coupling, special functions and dead code elimination)
- String operations (equalities, inequalities, boolean logic, concatenation and ranges)
- Expression local variables, vectors and strings
- User defined variables, vectors, strings, constants and function support
- Multivariate function composition
- Multiple sequence point and sub expression support
- Numeric integration and differentiation
- Vector Processing: BLAS-L1 (axpy, axpby, axpb), all/any-true/false, count, rotate-left/right, shift-left/right, sort, nth_element, iota, sum, kahan-sum, dot-product, copy
- File-IO package (routines include: open, close, read, write, getline, support for binary and text modes)
- Support for various numeric types (float, double, long double, MPFR/GMP)
- Single header implementation, no building required. No external dependencies.
- Completely portable (Compiled and executed upon: x86 x86-64, ARMv7/8, POWER6/7 and AVR32)
- Compatible C++ Compilers: GNU Compiler Collection (3.3+), Intel® C++ Compiler (8.x+), Clang/LLVM (1.1+), PGI C++ (10.x+), Microsoft Visual Studio C++ Compiler (8.1+), IBM XL C/C++ (9.x+), C++ Builder (XE4+)
Follow C++ Math Expression Parser
Other Useful Business Software
Gen AI apps are built with MongoDB Atlas
MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of C++ Math Expression Parser!