mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-01 03:03:40 +00:00
ff0d44e45a
Add lint to detect floating point operations that can be computed more accurately at the cost of performance. `cbrt`, `ln_1p` and `exp_m1` library functions call their equivalent cmath implementations which is slower but more accurate so moving checks for these under this new lint.
19 lines
427 B
Rust
19 lines
427 B
Rust
// run-rustfix
|
|
#![warn(clippy::imprecise_flops)]
|
|
|
|
fn main() {
|
|
let x = 2f32;
|
|
let _ = x.exp_m1();
|
|
let _ = x.exp_m1() + 2.0;
|
|
// Cases where the lint shouldn't be applied
|
|
let _ = x.exp() - 2.0;
|
|
let _ = x.exp() - 1.0 * 2.0;
|
|
|
|
let x = 2f64;
|
|
let _ = x.exp_m1();
|
|
let _ = x.exp_m1() + 2.0;
|
|
// Cases where the lint shouldn't be applied
|
|
let _ = x.exp() - 2.0;
|
|
let _ = x.exp() - 1.0 * 2.0;
|
|
}
|