algebra

Algebraic expression parser and evaluator


Keywords
algebra, parse, evaluate, mathematics, deleted
License
CC0-1.0
Install
nimble install algebra

Documentation

Algebra Parser & Evaluator

Example

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]

Parsing Details

  • 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.