2个版本 (1个稳定版)
新版本 1.0.0 | 2024年8月15日 |
---|---|
0.1.0 | 2023年2月2日 |
#190 在 数学
88 每月下载量
用于 tazui
99KB
2.5K SLoC
Taz
Taz是用于评估数学表达式的Rust库。
例如,我们可以评估以下表达式
- 1 + 1
- 2.0 * (4.43 - 5.99) / 3.0
- sqrt(x^2 + y^2)
- cos(pi / 4.0)^2 + sin(pi / 4.0)^2
构建
要构建Taz,可以使用以下命令
*cargo build* to compile in debug mode
*cargo build --release* to compile in release mode
要运行Taz单元测试,可以使用以下命令
*cargo test* to launch tests in debug mode
*cargo test --release* to launch tests in release mode
代码文档
Taz代码文档也是通过Cargo使用以下命令生成的
*cargo doc* to generate the documentation
*cargo doc --open* to open the documention in your browser
文档
评估从标记化开始。这一步将表示表达式的字符串转换为与中缀表达式对应的标记列表
然后,我们将这个中缀表达式转换为后缀表达式。实际上,后缀表达式的评估更容易。
最后,我们通过栈方法评估后缀表达式。
在这个表达式中,我们可以使用以下预定义的常量
- pi: 常量π
- e: 指数常量
- c: 光速常量
如果您想添加新的常量,您必须进入 src/constants.rs 文件,并像其他常量一样添加它。
您还可以使用以下预定义的函数
- abs: 绝对值
- sqrt: 平方根
- cbrt: 立方根
- exp: 指数
- ln: 自然对数
- log10: 以10为底的对数
- log2: 以2为底的对数
- sin: 正弦
- cos: 余弦
- tan: 正切
- asin: 反正弦
- acos: 反余弦
- atan: 反正切
- sinh: 双曲正弦
- cosh: 双曲余弦
- tanh: 双曲正切
- asinh: 双曲反正弦
- acosh: 双曲反余弦
- atanh: 双曲反正切
如果您想添加一个新的预定义函数,您必须进入src/functions.rs文件,并像其他预定义函数一样添加它。