Algebra Parser & Evaluator
import algebra
echo evaluate(expr"1.5+1.5")
#=> 3.0
echo evaluate(expr"a/ln(b)", {"a": 5.5, "b": 2.2})
#=> 6.975646720399666
echo evaluate(expr"sin(a)", "a", [0.0, 1.0, 2.0, 3.0, 4.0, 4.5])
#=> @[0.0, 0.8414709848078965, 0.9092974268256817, 0.1411200080598672, -0.7568024953079282, -0.977530117665097]
- After a function name (e.g. sin, cos, ln, etc.), a left parenthesis (
(
) must always immediately follow.
- The
expr
procedure returns the tokens after the Shunting-Yard algorithm is applied.