#tau #numerical

bin+lib compute-tau

一个为计算数百万位tau而设计的Rust库

1 个不稳定版本

新版本 0.1.0 2024年8月25日

400数学

MITLGPL-3.0+

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