#comparison #type #numeric #numbers #algorithm

no-std num-ord

用于跨类型比较的数值排序包装类型

1个不稳定版本

0.1.0 2021年9月12日

#897 in 数学

Download history 10/week @ 2024-03-18 39/week @ 2024-04-01 29/week @ 2024-04-08 18/week @ 2024-04-15 15/week @ 2024-04-22 13/week @ 2024-04-29 13/week @ 2024-05-06 33/week @ 2024-05-13 45/week @ 2024-05-20 36/week @ 2024-05-27 42/week @ 2024-06-03 44/week @ 2024-06-10 42/week @ 2024-06-17 34/week @ 2024-06-24

每月下载168

Zlib许可证

16KB
295

num-ord

此Crate提供了一种数值排序的包装类型NumOrd。此类型为所有内置整数类型的可能组合实现了PartialOrdPartialEq特性,以数学正确的方式执行,且不会发生溢出。有关更多信息,请参阅文档

要开始使用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兼容。

无运行时依赖