Crate clc_engine

Source
Expand description

Calculator calculate given expression. Core functionality for clc.

§Examples

use clc_engine::Calculator;

let clc = Calculator::new();
let eval = clc.calculate_line("sqrt(sqrt(16)) * (4 + 2)");

assert_eq!(eval, Ok(12.));

§Division by zero

use clc_engine::{Calculator, Error,EvalError};

let clc = Calculator::new();
let err = clc.calculate_line("10 / 0");

assert_eq!(err, Err(Error::Eval(EvalError::DivisionByZero)));

Under the hood clc-engine use nom to parse expression

Structs§

Calculator
Calculator provide calculation api.

Enums§

Error
Errors in calculation.
EvalError
Error in eval stage.