6 个版本 (3 个重大更新)
0.4.1 | 2024年7月20日 |
---|---|
0.4.0 | 2024年7月20日 |
0.3.1 | 2020年10月12日 |
0.3.0 | 2018年4月14日 |
0.1.1 | 2016年2月28日 |
#138 在 算法 中
每月下载量:7,784
在 49 个 包(直接使用 3 个)中使用
59KB
1.5K SLoC
(或多或少)准确的浮点数算法
此包提供了一些算法,这些算法实现了高度准确甚至保证正确的浮点数求和和点积,而不需要使用任意精度算术。这些算法包括:
- 基于 Kahan 65 的 Kahan 求和算法
- 基于 Neumaier 74 的 Neumaier 求和算法
- 基于 Klein 06 的 Klein 求和算法
- 基于 Ogita, Rump, and Oishi 05 的准确求和和点积算法
- 基于 Zhu and Hayes 10 的在线精确求和算法
用法
将 accurate
包添加到您的 Cargo.toml
依赖项中
[dependencies]
accurate = "0.4"
然后在您的程序中使用它,如下所示
extern crate accurate;
use accurate::traits::*;
use accurate::sum::Sum2;
fn main() {
let x = vec![1.0, 2.0, 3.0];
let s = x.sum_with_accumulator::<Sum2<_>>();
assert_eq!(6.0f64, s);
}
文档
该包最新版本的文档位于 docs.rs。
许可
许可方式为以下两种之一:
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您有意提交以供包含在本作品中的任何贡献,根据 Apache-2.0 许可证定义,应按照上述方式双许可,不附加任何额外条款或条件。
依赖项
~1.6–2.2MB
~49K SLoC