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
每月下载112次
在4个crates中使用(通过radians)
74KB
2K SLoC
real_float
简介
此crate用于处理检查过的浮点数。它导出三种类型:Real
、Finite
和NonNeg
。`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