2021-11-20 08:04:08 -06:00
|
|
|
#![feature(const_fn_floating_point_arithmetic)]
|
2020-06-15 11:59:44 -05:00
|
|
|
#![warn(clippy::suboptimal_flops)]
|
2020-06-10 11:52:00 -05:00
|
|
|
|
2021-11-20 08:04:08 -06:00
|
|
|
/// Allow suboptimal_flops in constant context
|
|
|
|
pub const fn const_context() {
|
|
|
|
let x = 3f32;
|
|
|
|
let _ = x * 180f32 / std::f32::consts::PI;
|
|
|
|
}
|
|
|
|
|
2022-08-29 06:56:03 -05:00
|
|
|
pub fn issue9391(degrees: i64) {
|
|
|
|
let _ = (degrees as f64).to_radians();
|
|
|
|
let _ = (degrees as f64).to_degrees();
|
|
|
|
}
|
|
|
|
|
2020-06-10 11:52:00 -05:00
|
|
|
fn main() {
|
|
|
|
let x = 3f32;
|
|
|
|
let _ = x.to_degrees();
|
2021-12-28 10:45:43 -06:00
|
|
|
let _ = 90.0_f64.to_degrees();
|
|
|
|
let _ = 90.5_f64.to_degrees();
|
2020-06-10 11:52:00 -05:00
|
|
|
let _ = x.to_radians();
|
2021-12-28 10:45:43 -06:00
|
|
|
let _ = 90.0_f64.to_radians();
|
|
|
|
let _ = 90.5_f64.to_radians();
|
|
|
|
// let _ = 90.5 * 80. * std::f32::consts::PI / 180f32;
|
2020-06-10 11:52:00 -05: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;
|
|
|
|
}
|