]> git.lizzy.rs Git - rust.git/blob - tests/ui/floating_point_powf.rs
Move MSRV tests into the lint specific test files
[rust.git] / tests / ui / floating_point_powf.rs
1 // run-rustfix
2 #![warn(clippy::suboptimal_flops, clippy::imprecise_flops)]
3 #![allow(clippy::unnecessary_cast)]
4
5 fn main() {
6     let x = 3f32;
7     let _ = 2f32.powf(x);
8     let _ = 2f32.powf(3.1);
9     let _ = 2f32.powf(-3.1);
10     let _ = std::f32::consts::E.powf(x);
11     let _ = std::f32::consts::E.powf(3.1);
12     let _ = std::f32::consts::E.powf(-3.1);
13     let _ = x.powf(1.0 / 2.0);
14     let _ = x.powf(1.0 / 3.0);
15     let _ = (x as f32).powf(1.0 / 3.0);
16     let _ = x.powf(3.0);
17     let _ = x.powf(-2.0);
18     let _ = x.powf(16_777_215.0);
19     let _ = x.powf(-16_777_215.0);
20     let _ = (x as f32).powf(-16_777_215.0);
21     let _ = (x as f32).powf(3.0);
22     let _ = (1.5_f32 + 1.0).powf(1.0 / 3.0);
23     let _ = 1.5_f64.powf(1.0 / 3.0);
24     let _ = 1.5_f64.powf(1.0 / 2.0);
25     let _ = 1.5_f64.powf(3.0);
26
27     // Cases where the lint shouldn't be applied
28     let _ = x.powf(2.1);
29     let _ = x.powf(-2.1);
30     let _ = x.powf(16_777_216.0);
31     let _ = x.powf(-16_777_216.0);
32
33     let x = 3f64;
34     let _ = 2f64.powf(x);
35     let _ = 2f64.powf(3.1);
36     let _ = 2f64.powf(-3.1);
37     let _ = std::f64::consts::E.powf(x);
38     let _ = std::f64::consts::E.powf(3.1);
39     let _ = std::f64::consts::E.powf(-3.1);
40     let _ = x.powf(1.0 / 2.0);
41     let _ = x.powf(1.0 / 3.0);
42     let _ = x.powf(3.0);
43     let _ = x.powf(-2.0);
44     let _ = x.powf(-2_147_483_648.0);
45     let _ = x.powf(2_147_483_647.0);
46     // Cases where the lint shouldn't be applied
47     let _ = x.powf(2.1);
48     let _ = x.powf(-2.1);
49     let _ = x.powf(-2_147_483_649.0);
50     let _ = x.powf(2_147_483_648.0);
51 }