9个稳定版本
| 2.2.0 | 2024年4月3日 |
|---|---|
| 2.1.0 | 2024年3月23日 |
| 2.0.4 | 2023年7月20日 |
| 2.0.3 | 2023年1月24日 |
| 1.0.0 | 2021年6月2日 |
#155 in 数学
27次月下载
345KB
9K SLoC

Kalker是一个支持用户自定义变量、函数、微分和积分的计算器程序/网站。它可在Windows、macOS、Linux、Android以及网页浏览器(通过WebAssembly)上运行。
特性
- 运算符:
+、-、*、/、! - 括号:
()、[]、⌈ceil⌉、⌊floor⌋ - 向量:(x, y, z, ...)
- 矩阵:[x, y, z; a, b, c; ...]
- 预定义函数和常量
- 用户自定义函数和变量。
f(x, y) = xy,x = 5 - 使用牛顿法求解根(例如 x^2 = 64)。注意:估计值并限于一个根
- 函数的导数(噪声函数或高阶导数可能有点不准确)。
f'(2)、sin'(-pi) - 集成。代码:
∫(0, pi, sin(x) dx)或∫(0, π, sin(x) dx),有时可能会有轻微偏差 - 理解相当模糊的语法。例如:
2sin50 + 2xy - 语法高亮
- 在Tab键上完成特殊符号。例如,输入
sqrt并按Tab键。它将转换为√ - 求和函数:
sum(start, to, expression)例如:sum(1, 3, 2n+1)等于2*1+1 + 2*2+1 + 2*3+1=15 - 分段函数:
f(x) = { f(x + 1) if x <= 1; x otherwise },在输入最后的}之前按下Enter键将创建新行而不提交 - 加载包含预定义函数和常量的文件。例如,如果您打算使用kalker进行物理计算,请在启动kalker时加载包含物理函数/常量的文件。这可以通过使用
-i file标志或通过将文件放入特定目录并在kalker内部执行load filename来实现。更多信息请参见[这里](https://kalker.xyz/#files) - 不同的数字基数:可以是如
0b1101、0o5.3、0xff这样的格式,或者如1101_2这样的格式。后一种格式不支持字母,因为它们将被解释为变量 - 杂项:通过分号分隔表达式以在同一行上写入,使用
ans变量来获取先前计算表达式的值
安装
包管理器
macOS
brew安装kalker
Arch Linux
kalker在AUR中,例如:yay -S kalker
Nix/NixOS
在 nixpkgs 仓库中的 kalker。最新版本也可以作为一个 flake 获取。
NetBSD
pkgin install kalker(来自 官方仓库)
二进制文件
Linux、Windows 和 macOS(64 位)的预编译二进制文件可在 发布页面 获取。
编译
最低 Rust 版本:v1.36.0。请确保已安装 diffutils、gcc、make 和 m4。 如果使用 Windows: 遵循此处说明(不要忘记在 MSYS2 中安装 mingw-w64-x86_64-rust)。
Cargo
运行 cargo install kalker
手动
- 进入
cli目录。 - 运行
cargo build --release - 从
targets/release获取二进制文件
库
目前有三个与 kalker 相关的库。
- kalk:提供所有功能的 Rust crate。
- @paddim8/kalk:JavaScript 绑定
kalk。这使您可以通过 WebAssembly 在浏览器中使用它。 - @paddim8/kalk-component:运行
@paddim8/kalk的 Web 组件,让您可以通过类似命令行界面在浏览器中使用 kalk。
语法
完整的参考可以在 网站上 找到。
贡献
kalk 和 cli(Rust)
在修改 kalk 库(在 kalk/ 中)后,您可以轻松尝试通过转到项目目录的根目录并执行 cargo run 来尝试它们。这将启动带有新更改的 kalker(cli)。如果您使用 Windows,您需要 遵循此处说明,但也要确保在 MSYS2 中安装 mingw-w64-x86_64-rust。
所有 Rust 代码都应使用 `rustfmt` 格式化
web(Svelte、TypeScript、Sass)
运行
npm installnpm run dev- 当更改时,这将自动重新编译项目
移动(Android)
运行
npm installnpm run buildnpx cap sync- 使用 Android Studio 或直接使用 Gradle 构建项目。
依赖关系
~11MB
~194K SLoC