Exp4j

exp4j is a small Java library for evaluation of mathematical expressions. 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: