mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 21:53:23 +00:00
6bb6dd64d4
There was an error when trying to negate an expression like `x - 1.0`. We used to format it as `-x - 1.0` whereas a proper negation would be `-(x - 1.0)`. Therefore, we add parentheses around the expression when it is a Binary ExprKind. We also add parentheses around multiply and divide expressions, even though this is not strictly necessary.
88 lines
3.7 KiB
Text
88 lines
3.7 KiB
Text
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:10:13
|
|
|
|
|
LL | let _ = x.powi(2) + y;
|
|
| ^^^^^^^^^^^^^ help: consider using: `x.mul_add(x, y)`
|
|
|
|
|
= note: `-D clippy::suboptimal-flops` implied by `-D warnings`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:11:13
|
|
|
|
|
LL | let _ = x.powi(2) - y;
|
|
| ^^^^^^^^^^^^^ help: consider using: `x.mul_add(x, -y)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:12:13
|
|
|
|
|
LL | let _ = x + y.powi(2);
|
|
| ^^^^^^^^^^^^^ help: consider using: `y.mul_add(y, x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:13:13
|
|
|
|
|
LL | let _ = x - y.powi(2);
|
|
| ^^^^^^^^^^^^^ help: consider using: `y.mul_add(-y, x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:14:13
|
|
|
|
|
LL | let _ = x + (y as f32).powi(2);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(y as f32).mul_add(y as f32, x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:15:13
|
|
|
|
|
LL | let _ = (x.powi(2) + y).sqrt();
|
|
| ^^^^^^^^^^^^^^^ help: consider using: `x.mul_add(x, y)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:16:13
|
|
|
|
|
LL | let _ = (x + y.powi(2)).sqrt();
|
|
| ^^^^^^^^^^^^^^^ help: consider using: `y.mul_add(y, x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:18:13
|
|
|
|
|
LL | let _ = (x - 1.0).powi(2) - y;
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(x - 1.0).mul_add(x - 1.0, -y)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:19:13
|
|
|
|
|
LL | let _ = (x - 1.0).powi(2) - y + 3.0;
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(x - 1.0).mul_add(x - 1.0, -y)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:20:13
|
|
|
|
|
LL | let _ = (x - 1.0).powi(2) - (y + 3.0);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(x - 1.0).mul_add(x - 1.0, -(y + 3.0))`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:21:13
|
|
|
|
|
LL | let _ = x - (y + 1.0).powi(2);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(y + 1.0).mul_add(-(y + 1.0), x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:22:13
|
|
|
|
|
LL | let _ = x - (3.0 * y).powi(2);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(3.0 * y).mul_add(-(3.0 * y), x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:23:13
|
|
|
|
|
LL | let _ = x - (y + 1.0 + x).powi(2);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(y + 1.0 + x).mul_add(-(y + 1.0 + x), x)`
|
|
|
|
error: multiply and add expressions can be calculated more efficiently and accurately
|
|
--> $DIR/floating_point_powi.rs:24:13
|
|
|
|
|
LL | let _ = x - (y + 1.0 + 2.0).powi(2);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `(y + 1.0 + 2.0).mul_add(-(y + 1.0 + 2.0), x)`
|
|
|
|
error: aborting due to 14 previous errors
|
|
|