#nan #panic #float #compare #floating-point #order

real_float

检查正确性并实现完全排序的浮点类型

4个版本 (2个破坏性更新)

0.3.0 2022年5月21日
0.2.0 2022年4月24日
0.1.1 2022年3月31日
0.1.0 2022年3月28日

数学类别中排名1332

Download history 14/week @ 2024-04-08 22/week @ 2024-04-15 26/week @ 2024-04-22 106/week @ 2024-04-29 29/week @ 2024-05-06 41/week @ 2024-05-13 49/week @ 2024-05-20 53/week @ 2024-05-27 20/week @ 2024-06-03 61/week @ 2024-06-10 45/week @ 2024-06-17 34/week @ 2024-06-24 9/week @ 2024-07-08 45/week @ 2024-07-15 54/week @ 2024-07-22

每月下载112
4个crates中使用(通过radians

MIT/Apache

74KB
2K SLoC

real_float

简介

此crate用于处理检查过的浮点数。它导出三种类型:RealFiniteNonNeg。`Real`在运行时进行检查以确保它永远不会是`NaN`,而`Finite`添加了额外的约束,即它永远不会是无穷大,`NonNeg`要求它必须是正数。

为了简洁起见,我们只讨论`Real`,但请理解,所有内容也适用于`Finite`和`NonNeg`。

检查行为

在每次操作和方法中都会插入一个`NaN`检查。如果出现`NaN`,它将导致运行时恐慌。

请注意,这些检查通常仅在调试构建中存在。这与Rust对整数溢出的哲学一致:在调试模式下恐慌,在发布模式下允许快速但可能不正确的行为。如果您想无论何种情况都存在这些检查,请启用`strict`功能。

可错误API

此crate中的类型还支持可错误API,用于任何否则会引发恐慌的操作。这些是定义在`Real`和`Finite`上的`try_*`方法,它们将执行`NaN`检查,无论是否启用了调试模式。

与类似crates的比较

待办事项

许可证:MIT OR Apache-2.0

依赖项

~38KB