module EEEval

Overview

EEEval — Easy Expression Evaluator

Public API:

Simple evaluation (constants like pi, e, tau, sqrt2, phi built in)

EEEval::CalcFuncParser.evaluate("sin(pi/2) + e") # => 3.718...

Evaluation with user-defined variables

EEEval::CalcFuncParser.evaluate("x^2 + y", {"x" => 3.0, "y" => 1.0}) # => 10.0

Pre-compile expression for efficient repeated evaluation

ast = EEEval::CalcFuncParser.compile("sin(x) * phi") (0..100).each { |i| ast.evaluate({"x" => i.to_f64}.merge(EEEval::Constants::DEFAULT_ENV)) }

Defined in:

constants.cr
eeeval.cr
eval/ast.cr
eval/shunting_yard_calc.cr
eval/shunting_yard_cond.cr
eval/token.cr
eval/version.cr

Constant Summary

VERSION = "1.1.0"