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

Build gen AI apps with an all-in-one modern database: 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.
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