#calculator #engine #expression #calculations #ui #parse #clc

clc-engine

为计算器 UI 提供 API 接口

5 个版本

0.1.4 2022年3月30日
0.1.3 2022年3月28日
0.1.2 2022年3月28日
0.1.1 2022年3月27日
0.1.0 2022年3月27日

#105 in #calculator


用于 2 crates

MIT/Apache

37KB
1K SLoC

clc-engine

clc-engine on crates.io Documentation (latest release) Changelog License License

Calculator 计算给定的表达式。clc 的核心功能。

示例

use clc_engine::Calculator;

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

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

除以零

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)));

在底层,clc-engine 使用 nom 解析表达式

许可证

本项目可以在 Apache 2.0 许可证或 MIT 许可证的条款下使用。

依赖项

~1MB
~22K SLoC