Mar*_*ger 5 floating-point nan equality-operator rust
在 Rust 中,是否有一个f32/f64实现的版本Eq?我能看到/不实施的
唯一原因是。
这种类型的潜在行为方式:f32f64EqNaN != NaN
NaN == NaN真正有用的类型,因为我经常认为这a == a总是正确的。NaN完全禁止这种类型,这样就不会存在NaN与其自身不相等的情况。理想情况下,有一种方法可以通过使用后缀(类似于2.3_f32)来使用该类型,但我认为这是不可能的。
从 Rust 1.62.0 开始,您可以使用和total_cmp()的方法。它们本身不是一个类型,但如果您愿意,您可以在它们之上构建一个类型。f32f64
或者你可以使用ordered-float板条箱。它提供了NotNan和OrderedFloat类型,每种类型都与您描述的一种行为相匹配。
| 归档时间: |
|
| 查看次数: |
1350 次 |
| 最近记录: |