6个版本 (1个稳定)
新 1.0.0 | 2024年8月24日 |
---|---|
0.2.5 | 2024年3月21日 |
0.1.3 |
|
在数学类别中排名第375
每月下载量27次
9KB
72 行
compute-pi
compute-pi使用高斯-勒让德算法计算π的任意位数,您的PC上计算1百万位只需几秒钟。
安装
您可以将此crate包含在您的Cargo.toml
文件中,如下所示
[dependencies]
compute-pi = "1.0"
使用方法
要在Rust代码中使用compute_pi_str
函数,请将以下内容添加到crate根目录
use compute_pi::compute_pi_str;
fn main() {
// Specify the number of digits of Pi you want to compute
let digits = 100;
// Compute Pi
let pi = compute_pi_str(digits);
// Print calculated decimal
println!("Pi to {} decimal places: {}", digits, pi);
}
命令行使用
您还可以从命令行使用compute-pi
命令。安装crate后,运行以下命令
cargo install compute-pi
运行以下命令
compute-pi <digits>
将<digits>
替换为您要计算的π的位数。例如
compute-pi 100
这将打印出π到100位小数的结果。
性能
在MacBook Air(Apple M1,16 GB)上,计算到1百万位的π耗时1.5秒,到3亿2千万位的π耗时24分钟,但计算在10小时内没有完成3亿3千万位的π。同样,在Mac mini(Apple M1,16 GB)上,计算到3亿2千万位的π,但计算在10小时内没有完成3亿3千万位的π。考虑到它并没有因为内存分配失败而引发panic,而是无限期地继续,推测计算耗时过长是由于内存交换。320百万位被认为是使用16 GB内存通过compute-pi计算出的最大位数。另一个限制是,由于rug::Float的精度定义为u32,所以位数不能超过1,292,913,983。使用compute-pi计算到320百万位的π的结果已经通过y-cruncher和Chudnovsky算法得到确认,与结果完全一致。
许可证
此crate遵循MIT许可证。
依赖项
约2.5MB
约47K SLoC