Exp4j

{{Multiple issues|

{{Notability|Products|date=June 2021}}

{{More citations needed|date=April 2022}}

}}

{{Infobox software

| name = exp4j

| programming language = Java

| latest release version = 0.4.3

| latest release date = 2014-10-10

| license= Apache License 2.0

| genre = Math

| website = {{url|http://www.objecthunter.net/exp4j/}}

}}

exp4j is a small Java library for evaluation of mathematical expressions.{{Cite web |title=Maven Central Repository Search |url=https://search.maven.org/artifact/net.objecthunter/exp4j/0.4.8/jar |access-date=2022-03-16 |website=search.maven.org}} It implements Dijkstra's Shunting-yard algorithm to translate expressions from infix notation to Reverse Polish notation and calculates the result using a simple Stack algorithm.

Features

  • Variables can be used in expressions
  • exp4j comes with a set of common built-in functions
  • Users can create and use their own custom operators
  • Users can create and use their own custom functions

License terms

exp4j is released under the terms of the Apache License 2.0

Examples of usage

Calculating the result of

3 * \frac{\sin{(\pi)} - 2}{e}

can be done in the following way:

Expression e = new ExpressionBuilder("3 * (sin(pi) - 2 )/ e")

.variables("pi", "e")

.build()

.setVariable("pi", Math.PI)

.setVariable("e", Math.E);

double result = e.evaluate();

See also

  • mXparser - Mathematical Expressions Parser / Evaluator

References