diff options
Diffstat (limited to 'src/tools/clippy/tests/ui/floating_point_rad.rs')
-rw-r--r-- | src/tools/clippy/tests/ui/floating_point_rad.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/floating_point_rad.rs b/src/tools/clippy/tests/ui/floating_point_rad.rs new file mode 100644 index 000000000..8f3234986 --- /dev/null +++ b/src/tools/clippy/tests/ui/floating_point_rad.rs @@ -0,0 +1,25 @@ +// run-rustfix +#![feature(const_fn_floating_point_arithmetic)] +#![warn(clippy::suboptimal_flops)] + +/// Allow suboptimal_flops in constant context +pub const fn const_context() { + let x = 3f32; + let _ = x * 180f32 / std::f32::consts::PI; +} + +fn main() { + let x = 3f32; + let _ = x * 180f32 / std::f32::consts::PI; + let _ = 90. * 180f64 / std::f64::consts::PI; + let _ = 90.5 * 180f64 / std::f64::consts::PI; + let _ = x * std::f32::consts::PI / 180f32; + let _ = 90. * std::f32::consts::PI / 180f32; + let _ = 90.5 * std::f32::consts::PI / 180f32; + // let _ = 90.5 * 80. * std::f32::consts::PI / 180f32; + // Cases where the lint shouldn't be applied + let _ = x * 90f32 / std::f32::consts::PI; + let _ = x * std::f32::consts::PI / 90f32; + let _ = x * 180f32 / std::f32::consts::E; + let _ = x * std::f32::consts::E / 180f32; +} |