1 个不稳定版本
新版本 0.1.0 | 2024年8月25日 |
---|
400 在 数学 中
9KB
72 行
compute-tau
Compute-tau使用高斯-勒让德算法计算任意位数的tau值。它能在您的电脑上几秒钟内计算出一百万位。
安装
您可以将此Crate包含在您的Cargo.toml
文件中,如下所示
[dependencies]
compute-tau = "0.1"
使用方法
要在Rust代码中使用compute_tau_str
函数,请将以下内容添加到您的crate根目录
use compute_tau::compute_tau_str;
fn main() {
// Specify the number of digits of Tau you want to compute
let digits = 100;
// Compute Tau
let tau = compute_tau_str(digits);
// Print calculated decimal
println!("Tau to {} decimal places: {}", digits, tau);
}
命令行使用
您还可以从命令行使用compute-tau
命令。安装Crate后
cargo install compute-tau
运行以下命令
compute-tau <digits>
将<digits>
替换为您要计算的tau位数。例如
compute-tau 100
这将打印出100位小数的tau值。
性能
在MacBook Air(Apple M1,16 GB)上,1百万位的tau计算耗时1.5秒,320百万位耗时24分钟,但计算在10小时内未能完成330百万位。同样,在Mac mini(Apple M1,16 GB)上,320百万位的tau被计算出来,但10小时内未能完成330百万位的计算。由于没有因内存分配失败而崩溃,而是无限期地继续计算,因此推测计算时间过长是由于内存交换引起的。考虑到两台机器得出的结果相同,认为320百万位是使用16 GB内存计算tau的最大位数。另一个限制是,由于rug::Float被定义为u32,因此数字不能超过1,292,913,983。使用compute-tau计算320百万位tau的结果已确认为与使用y-cruncher和Chudnovsky算法获得的结果完全一致。
许可
此Crate采用MIT许可。
依赖项
~2.5MB
~47K SLoC