18 个版本 (9 个稳定版)
1.1.7 | 2023年10月15日 |
---|---|
1.1.5 | 2023年9月28日 |
1.0.1 | 2023年8月17日 |
0.2.16 | 2023年8月2日 |
0.2.9 | 2023年7月31日 |
#198 in 数学
每月142次下载
720KB
5.5K SLoC
支持单位、导数等的高精度科学计算器。
许多功能尚未实现,仍在开发中。
网络演示: 这里 (移动设备上无法工作)
📦 安装
- 从源代码:
cargo build --release
,二进制文件将位于./target/release/daisy
- Cargo:
cargo install daisycalc
- Arch:
yay -S daisy
- Debian:即将推出
- Nix:使用
default.nix
。Daisy 还未包含在 nixpkgs 中,您需要在configuration.nix
中添加类似以下的内容
let
daisy = builtins.fetchGit {
url = "https://github.com/rm-dr/daisy.git";
ref = "master";
} + /default.nix;
in
{
environment.systemPackages = with pkgs; [
(callPackage daisy { })
];
}
📹 截图
🛠️ 功能
- 开源
- 极高的精度
- 尽可能使用有理数类型,在必要时使用高精度浮点数。
- 在提示符中进行格式化打印(带有特殊替换)
- 支持许多物理单位,包括公制和二进制前缀
- 支持指数表示法
- 清晰的语法,解析输入始终重新打印以进行合理性检查。
- 有用的详细错误信息
📑 使用方法
所有文档都集成在提示符中。使用 help
命令查看。
计算表达式
- 基本数学:
103 / 2 * 43
- 功能:
sqrt(1.4^3 + 4) * sin(pi / 4)
- 科学记数法:
1.2e12 * 1e-5
物理单位
- 单位操作:
2 天 + 1 小时
- 单位转换:
2 天 + 1 小时 转换为 分钟
- 复合单位:
10 m/s 转换为 mph
- 转换错误:
1 升 转换为 伏特
变量
- 上一个答案:
ans + 2
- 变量赋值:
a = 143
🌹 其他说明
单位转换
转换操作符 to
将其左边的参数转换为右边参数的单位,忽略其值。例如,5m to mi
和 5m to 10mi
是相同的。
摄氏度和华氏度
由于摄氏度和华氏度在转换其他温度单位时需要偏移,因此它们不支持作为一等单位。在添加单位时,这会导致歧义,因为必须将一个温度视为一个 差值 而不是一个绝对温度。
Daisy 提供了四个函数(fromCelsius
、toCelsius
、fromFahrenheit
、toFahrenheit
),它们在开尔文和标量之间进行转换。
- "from" 函数接收一个标量并返回开尔文值:
fromCelsius(0) = 273.15K
- "to" 函数接收开尔文值并返回标量:
toCelsius(273.15 K) = 0
乘法顺序
隐式乘法的优先级高于除法。 pi/2 弧度
将解析为 pi/(2 弧度)
。输入 (pi/2) 弧度
或 pi/2 * 弧度
以得到 90 度。