1 个不稳定版本
0.1.0 | 2022年10月29日 |
---|
#2188 在 Rust 模式
4,571 次每月下载
6KB
[dependencies]
float-derive = "0.1.0"
IEEE 754 浮点数可以具有 NAN (不是一个数字) 的值。它与其自身(包括自身)的任何浮点数都不相等!这是 `f32` 和 `f64` 没有实现 `Eq` 特征的原因。
此 crate 允许通过显式比较浮点数(使得 NAN == NAN 为真)来为包含浮点数的特质推导 Eq
和 Hash
。
使用方法
use float_derive::{FloatPartialEq, FloatEq, FloatHash};
#[derive(FloatPartialEq, FloatEq, FloatHash)]
struct MyStruct {
a: i32,
b: i32,
my_float: f32,
my_second_float: f64
}
#[derive(FloatPartialEq, FloatEq, FloatHash)]
enum MyEnum {
A(i32, f32),
B { a: i32, b: f64 },
C
}
致谢
- ordered-float 提供了显式浮点数相等性。
依赖关系
~1.5MB
~40K SLoC