#expression #calculator #math-expressions #evaluate #pi #sin #sqrt

taz

Taz是用于评估数学表达式的Rust库

2个版本 (1个稳定版)

新版本 1.0.0 2024年8月15日
0.1.0 2023年2月2日

#190数学

Download history 6/week @ 2024-07-26 3/week @ 2024-08-02 79/week @ 2024-08-09

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的构建是通过 Rust 工具 Cargo 完成的

要构建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文件,并像其他预定义函数一样添加它。

无运行时依赖