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 数学

Download history 26/week @ 2024-03-09 3/week @ 2024-03-16 10/week @ 2024-03-30 2/week @ 2024-04-06 1/week @ 2024-04-27

每月142次下载

GPL-3.0-only

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 { })
  ];
}

📹 截图

Screenshot

🛠️ 功能

  • 开源
  • 极高的精度
    • 尽可能使用有理数类型,在必要时使用高精度浮点数。
  • 在提示符中进行格式化打印(带有特殊替换)
  • 支持许多物理单位,包括公制和二进制前缀
  • 支持指数表示法
  • 清晰的语法,解析输入始终重新打印以进行合理性检查。
  • 有用的详细错误信息

📑 使用方法

所有文档都集成在提示符中。使用 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 mi5m to 10mi 是相同的。

摄氏度和华氏度

由于摄氏度和华氏度在转换其他温度单位时需要偏移,因此它们不支持作为一等单位。在添加单位时,这会导致歧义,因为必须将一个温度视为一个 差值 而不是一个绝对温度。

Daisy 提供了四个函数(fromCelsiustoCelsiusfromFahrenheittoFahrenheit),它们在开尔文和标量之间进行转换。

  • "from" 函数接收一个标量并返回开尔文值:fromCelsius(0) = 273.15K
  • "to" 函数接收开尔文值并返回标量:toCelsius(273.15 K) = 0

乘法顺序

隐式乘法的优先级高于除法。 pi/2 弧度 将解析为 pi/(2 弧度)。输入 (pi/2) 弧度pi/2 * 弧度 以得到 90 度。

依赖项