summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/floating_point_rad.fixed
blob: af236452712896c1e7f470b07748408c9e795c73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//@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;
}

pub fn issue9391(degrees: i64) {
    let _ = (degrees as f64).to_radians();
    let _ = (degrees as f64).to_degrees();
}

fn main() {
    let x = 3f32;
    let _ = x.to_degrees();
    let _ = 90.0_f64.to_degrees();
    let _ = 90.5_f64.to_degrees();
    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;
    // 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;
}