rust/tests/ui/floating_point_rad.fixed

31 lines
887 B
Rust
Raw Normal View History

//@run-rustfix
#![feature(const_fn_floating_point_arithmetic)]
#![warn(clippy::suboptimal_flops)]
2020-06-10 16:52:00 +00:00
/// Allow suboptimal_flops in constant context
pub const fn const_context() {
let x = 3f32;
let _ = x * 180f32 / std::f32::consts::PI;
}
pub fn issue9391(degrees: i64) {
let _ = (degrees as f64).to_radians();
let _ = (degrees as f64).to_degrees();
}
2020-06-10 16:52:00 +00:00
fn main() {
let x = 3f32;
let _ = x.to_degrees();
let _ = 90.0_f64.to_degrees();
let _ = 90.5_f64.to_degrees();
2020-06-10 16:52:00 +00:00
let _ = x.to_radians();
let _ = 90.0_f64.to_radians();
let _ = 90.5_f64.to_radians();
// let _ = 90.5 * 80. * std::f32::consts::PI / 180f32;
2020-06-10 16:52:00 +00:00
// 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;
}