#partial-eq #eq #f32 #f64 #hash

float-derive

一个允许为包含浮点数的类型推导 Eq 和 Hash 的 crate

1 个不稳定版本

0.1.0 2022年10月29日

#2188Rust 模式

Download history 452/week @ 2024-03-13 620/week @ 2024-03-20 564/week @ 2024-03-27 446/week @ 2024-04-03 721/week @ 2024-04-10 684/week @ 2024-04-17 614/week @ 2024-04-24 453/week @ 2024-05-01 457/week @ 2024-05-08 471/week @ 2024-05-15 339/week @ 2024-05-22 680/week @ 2024-05-29 1468/week @ 2024-06-05 772/week @ 2024-06-12 986/week @ 2024-06-19 1123/week @ 2024-06-26

4,571 次每月下载

MIT/Apache

6KB

⚡ float-derive

一个允许为包含浮点数的类型推导 Eq 和 Hash 的 crate 🦀

crates license dependency-status

[dependencies]
float-derive = "0.1.0"
IEEE 754 浮点数可以具有 NAN (不是一个数字) 的值。它与其自身(包括自身)的任何浮点数都不相等!这是 `f32` 和 `f64` 没有实现 `Eq` 特征的原因。

此 crate 允许通过显式比较浮点数(使得 NAN == NAN 为真)来为包含浮点数的特质推导 EqHash

使用方法

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
}

致谢

依赖关系

~1.5MB
~40K SLoC