A scala library for parsing mathemitical expressions with support for parentheses and variables.
features:
+
, -
, *
, /
, **
(power)( )
and comma ,
scala.math
, except of random
, E
and PI
$
with valid Java variable name<dependency>
<groupId>io.github.facaiy</groupId>
<artifactId>math-expression-parser</artifactId>
<version>0.0.2</version>
</dependency>
A simple example:
import io.github.facaiy.math.expression.MathExp
val str = "1.0 + sqrt(2 * $a1) + $a2 ** 2"
val ex = MathExp.parse(str)
val variables = Map("a1" -> 2, "a2" -> 1)
val output = ex.eval(variables)
// output = 4.0
val output1 = ex.eval(Map("a1" -> 8.0, "a2" -> 2))
// output1 = 9.0
# Ref: https://central.sonatype.org/pages/apache-maven.html
mvn release:clean release:prepare
mvn release:perform