Rahul Sharma (Editor)

Mxparser

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Mariusz Gromada

Written in
  
Java, C#

Development status
  
Active

Initial release
  
January 2010; 7 years ago (2010-01)

Stable release
  
3.0.0 / 18 May 2016; 9 months ago (2016-05-18)

Repository
  
github.com/mariuszgromada/MathParser.org-mXparser

mXparser is an open-source mathematical expressions parser/evaluator providing abilities to calculate various expressions at a run time. Expressions definitions are given as plain text, then verified in terms of grammar / syntax, finally calculated. Library source code is maintained separately for Java and C#, providing the same API for Java/JVM, Android, .NET and MONO (Common Language Specification Compliant). Software is free and is distributed under Simplified BSD License.

Contents

Main features / usage examples

mXparser delivers functionalities such as: basic calculations, built-in constants and functions, numerical calculus operations, iterated operators, user defined constants, user defined functions, user defined recursion.

Basic operators

mXparser supports basic operators, such as: addition '+', subtraction '-', multiplication '*', division '/', factorial '!', power '^', modulo '%'.

Binary relations

It is possible can combine typical expressions with binary relations (such as: greater than '>', less than '<', equality '=', inequality '<>', greater or equal '>=', lower or equal '<='), as each relation evaluation results in either '1' for true outcome, or '0' for false.

Boolean logic

Boolean logic also operates assuming equivalence of '1 as true' and '0 as false'. Supported Boolean operators include: AND conjunction , OR disjunction, NAND Sheffer stroke, NOR, XOR Exclusive OR, IMP Implication, CIMP Converse implication, NIMP Material nonimplication, CNIMP Converse nonimplication, EQV Logical biconditional, Negation.

Built-in mathematical functions

Supported common mathematical functions (unary, binary and variable number of arguments), including: trigonometric functions, inverse trigonometric functions, logarithm functions, exponential function, hyperbolic functions, Inverse hyperbolic functions, Bell numbers, Lucas numbers, Stirling numbers, prime-counting function, exponential integral function, logarithmic integral function, offset logarithmic integral , binomial coefficient and others.

Built-in math constants

Built-in mathematical constants, with high precision.

Iterated operators

Iterated summation and product operators.

Numerical differentiation and integration

mXparser delivers implementation of the following calculus operations: differentiation and integration.

Elements defined by user

Library provides API for creation of user-defined objects, such as: constants, arguments, functions.

Requirements

  • JAVA: jdk 1.5 or higher
  • .NET/MONO: framework 2.0 or higher
  • Documentation

  • Tutorial
  • Javadoc API specification
  • mXparser - source code

    Source code is maintained and shared on GitHub.

    License terms

    Software is free and is distributed under Simplified BSD License.

    References

    Mxparser Wikipedia