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+)

Project Activity

See All Activity >

Follow C++ Math Expression Parser

C++ Math Expression Parser Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of C++ Math Expression Parser!

Additional Project Details

Registered

2016-11-03