3 个稳定版本

1.0.2 2023年6月29日
1.0.1 2023年6月23日
1.0.0 2023年6月19日

#590 in 数学

MIT 许可证

63KB
1.5K SLoC

公差

在 Rust 中避免浮点数精度误差地表示物理测量所需允许偏差的数学表示。允许以一致的方式计算公差范围。

基于自定义类型 Myth,精度为 1/10 米 (= 0.1μ)。

示例

use tolerance::T128;

fn main() {
    let width1 = T128::new(100.0, 0.05, -0.2);
    let width2 = T128::with_sym(50.0, 0.05);

    // Adding two `T128`s is straightforward.
    assert_eq!(width1 + width2, T128::new(150.0, 0.1, -0.25));

    // `!` inverts the direction of tolerance to /subtract/ measures.
    assert_eq!(!width1, T128::new(-100.0, 0.2, -0.05));

    // Adding an inverted `T128` wides the tolerance.
    assert_eq!(width1 + !width1, T128::new(0.0, 0.25, -0.25));
}

限制

T128

128 位宽的值。基于 Myth64 (64位),它可以处理的大小为 +/-922_337_203 km,偏差为 +/-214 m (Myth32)。

T64

基于 Myth32 (32位),它可以处理的大小为 +/-214 m,偏差为 +/-3 mm (Myth16)。

历史

最初作为 AllowanceValue 开发,后来重命名并移动以提高可用性。

依赖项

~165KB