1个不稳定版本
0.1.0 | 2021年9月12日 |
---|
#897 in 数学
每月下载168次
16KB
295 行
num-ord
此Crate提供了一种数值排序的包装类型NumOrd
。此类型为所有内置整数类型的可能组合实现了PartialOrd
和PartialEq
特性,以数学正确的方式执行,且不会发生溢出。有关更多信息,请参阅文档。
要开始使用num-ord
,请将以下内容添加到您的Cargo.toml
[dependencies]
num-ord = "0.1"
示例
use num_ord::NumOrd;
let x = 3_i64;
let y = 3.5_f64;
assert_eq!(x < (y as i64), false); // Incorrect.
assert_eq!(NumOrd(x) < NumOrd(y), true); // Correct.
let x = 9007199254740993_i64;
let y = 9007199254740992_f64;
assert_eq!(format!("{}", y), "9007199254740992"); // No rounded constant trickery!
assert_eq!((x as f64) <= y, true); // Incorrect.
assert_eq!(NumOrd(x) <= NumOrd(y), false); // Correct.
许可证
num-ord
在Zlib许可证下发布,这是一个宽松的许可证。它是OSI和FSF批准的,并且与GPL兼容。