]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | #![warn(clippy::float_equality_without_abs)] |
2 | ||
3 | pub fn is_roughly_equal(a: f32, b: f32) -> bool { | |
4 | (a - b) < f32::EPSILON | |
5 | } | |
6 | ||
7 | pub fn main() { | |
8 | // all errors | |
9 | is_roughly_equal(1.0, 2.0); | |
10 | let a = 0.05; | |
11 | let b = 0.0500001; | |
12 | ||
13 | let _ = (a - b) < f32::EPSILON; | |
14 | let _ = a - b < f32::EPSILON; | |
15 | let _ = a - b.abs() < f32::EPSILON; | |
16 | let _ = (a as f64 - b as f64) < f64::EPSILON; | |
17 | let _ = 1.0 - 2.0 < f32::EPSILON; | |
18 | ||
19 | let _ = f32::EPSILON > (a - b); | |
20 | let _ = f32::EPSILON > a - b; | |
21 | let _ = f32::EPSILON > a - b.abs(); | |
22 | let _ = f64::EPSILON > (a as f64 - b as f64); | |
23 | let _ = f32::EPSILON > 1.0 - 2.0; | |
24 | ||
25 | // those are correct | |
26 | let _ = (a - b).abs() < f32::EPSILON; | |
27 | let _ = (a as f64 - b as f64).abs() < f64::EPSILON; | |
28 | ||
29 | let _ = f32::EPSILON > (a - b).abs(); | |
30 | let _ = f64::EPSILON > (a as f64 - b as f64).abs(); | |
31 | } |