8 个版本 (1 个稳定版)
| 1.0.0 | 2021年7月14日 |
|---|---|
| 0.9.7 | 2021年7月2日 |
| 0.9.4 | 2021年6月30日 |
| 0.9.3 | 2019年5月22日 |
| 0.9.0 | 2019年4月29日 |
#1053 in 算法
每月35次下载
用于 2 crate
135KB
3K SLoC
是什么
支持大整数、浮点数、普通分数和复数的数学表达式评估库。该库被项目 RionaCalc 使用
特性
- 自动选择更合适的函数参数类型:例如,
sqrt(-4)将浮点数-4转换为复数-4+0i,然后计算结果0+2i。同样适用于计算负浮点数的对数以及大于1.0的参数的 acos 和 asin - 自动添加省略的乘法符号:例如,
(1+2)(2+9)被计算为(1+2)*(2+9) - 具有单一值参数的函数不需要将其参数括在括号中:例如,
sin cos 2被计算为sin(cos(2)) - 可以省略最后的括号:例如,
(1+2)*(2+9与(1+2)*(2+9)相同。 - 三角函数使用弧度和度。纯数字被视为弧度,度需要有一个或三个后缀。两种度数格式:
20d30m50s或20°30'50"。分钟和秒可以省略,在这种情况下,度可以是浮点数,如30.25d。因此,sin(pi/2)==sin(90°) - 每个数字都可以包含分组分隔符
_以提高可读性——当使用大整数时非常有用。例如,3_000.90_23==3000.9023 - 点和逗号都被视为小数分隔符。
- 函数参数分隔符是
;。如果一个函数接收的参数多于它所需的,则丢弃多余的参数:例如,sqrt(11;12;13)与sqrt(11)相同。 - 常规分数使用
\分隔其部分。它们可以写成分数部分,也可以只写分子和分母,例如1\1\10==11\10 - 有两种复数格式:在末尾或中间标记。例如,
1+2i==1+i2。此外,可以使用j代替i- 但计算器输出始终使用i - 十六进制(以
0x开头)、八进制(以0o开头)和二进制(以0b开头)数字 - 字符
%可以是模运算符或百分比运算符。这取决于字符的位置:如果%在表达式末尾或括号之前或另一个运算符之前,并且前一个运算符是+、-、*或/之一,则该字符被视为百分比运算符
依赖项
~3.5MB
~76K SLoC