MEE Math Expression Evaluator
// create a text source from expression string
val source = TextSource("2^(2+6)*5+log(9+7-ln(6+1))")
// create compiler instance
val compiler = ClCompiler()
val result: Double = compiler.compile(source)
println("Result = $result")
Output :
Result = 1281.147803
see sample file
val filePath = "examples/sample.mee" // a simple Math expression script
val source = FileSource(filePath)
val compiler = ClCompiler()
println("Result = ${compiler.compile(source)}")
For more simples take a look to tests or to Sample programme
Supported | Symbol | Explanation |
---|---|---|
✅ | + | Addition Operator eg. 2+3 results 5 |
✅ | - | Subtraction Operator eg. 2-3 results -1 |
✅ | / , ÷ | Division operator eg 3/2 results 1.5 |
✅ | × ,* | Multiplication Operator eg. 2*3 results 6 |
✅ | ( | Opening Parenthesis |
✅ | ) | Closing Parenthesis |
✅ | = | Assignment variables eg. a = 22; |
✅ | pi | Math constant pi returns 3.14 |
✅ | log | logarithmic function with base 10 eg. log 1000 returns 3 |
✅ | ln | natural log function with base e eg. ln 2 returns .3010 |
✅ | exp | exponential function |
✅ | ^ | power operator eg. 2^3 returns 8 |
✅ | sqrt | square root of a number eg. 4 returns 2 |
✅ | sin | Sine function |
✅ | cos | Cosine function |
⬜ | pi | Math constant pi returns 3.14 |
⬜ | e | Math constant e returns 2.71 |
⬜ | tan | Tangent function |
⬜ | asin | Inverse Sine function |
⬜ | acos | Inverse Cosine function |
⬜ | atan | Inverse Tangent function |
⬜ | sinh | Hyperbolic Sine function |
⬜ | cosh | Hyperbolic Cosine function |
⬜ | tanh | Hyperbolic Tangent function |
⬜ | asinh | Inverse Hyperbolic Sine function |
⬜ | acosh | Inverse Hyperbolic Cosine function |
⬜ | atanh | Inverse Hyperbolic Tangent function |
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
//...
maven { url 'https://jitpack.io' }
}
}
implementation 'com.github.ixiDev:MEE:$MEE_VERSION'
Replace $MEE_VERSION
with last version