3 个稳定版本
1.0.2 | 2023年6月29日 |
---|---|
1.0.1 | 2023年6月23日 |
1.0.0 | 2023年6月19日 |
#590 in 数学
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