13 个版本
0.1.2 | 2022年9月17日 |
---|---|
0.1.1 | 2022年3月24日 |
0.0.12 | 2022年3月11日 |
0.0.9 | 2021年3月20日 |
0.0.3 | 2017年7月19日 |
#11 在 #math-parser
用于 ferro
64KB
1.5K SLoC
文档
一个用于评估数学表达式的库。
使用库
fn main() {
let input = "sin(0.2)^2 + cos(0.2)^2";
let expr = ShuntingParser::parse_str(input).unwrap();
let result = MathContext::new().eval(&expr).unwrap();
println!("{} = {}", expr, result);
}
MathContext
MathContext
允许在多次调用中保持解析和评估的上下文。您可以通过 setvar
方法实现这一点。
crate 中的工具
该 crate 还包含一个带有数学交互式命令行的 tox
二进制文件。
$ tox
>> 4!
24
>> a = sin(0.2)^2 + cos(0.2)^2
>> a
1
>> (-3)!
NaN
>> (84 % (5/2)) !
1.32934
>> pi * 2.1^2 / cbrt(-(6+3))
-6.660512
依赖项
~1MB
~21K SLoC