Registered by Arash Partow

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.

http://www.partow.net/programming/exprtk/

The ExprTk library has the following capabilities:

* Mathematical operators (+, -, *, /, %, ^)

* Functions (min, max, avg, sum, abs, ceil, floor, round, roundn, exp, log, log10, logn, pow, root, sqrt, clamp, inrange, swap)

* Trigonometry (sin, cos, tan, acos, asin, atan, atan2, cosh, cot, csc, sec, sinh, tanh, d2r, r2d, d2g, g2d, hyp)

* Equalities & Inequalities (=, ==, <>, !=, <, <=, >, >=)

* Assignment (:=, +=, -=, *=, /=, %=)

* Logical operators (and, nand, nor, not, or, xor, xnor, mand, mor)

* Control Structures (if-then-else, ternary conditional, switch case, return-statement)

* 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, logical operators, concatenation and sub-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)

Project information

Maintainer:
Arash Partow
Driver:
Arash Partow
Licence:
Common Public Licence

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Git
Programming languages:
C++

Get Involved

  • warning
    Report a bug
  • warning
    Ask a question
  • warning
    Help translate

Downloads

C++ Mathematical Expression Library does not have any download files registered with Launchpad.