about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/floating_point_exp.rs
blob: ce584c038a49825c6fd588458533e96ad1eaed06 (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
// FIXME(f16_f128): add tests when exp is available

#![warn(clippy::imprecise_flops)]
#![allow(clippy::unnecessary_cast)]

fn main() {
    let x = 2f32;
    let _ = x.exp() - 1.0;
    //~^ imprecise_flops
    let _ = x.exp() - 1.0 + 2.0;
    //~^ imprecise_flops
    let _ = (x as f32).exp() - 1.0 + 2.0;
    //~^ imprecise_flops
    // Cases where the lint shouldn't be applied
    let _ = x.exp() - 2.0;
    let _ = x.exp() - 1.0 * 2.0;

    let x = 2f64;
    let _ = x.exp() - 1.0;
    //~^ imprecise_flops
    let _ = x.exp() - 1.0 + 2.0;
    //~^ imprecise_flops
    // Cases where the lint shouldn't be applied
    let _ = x.exp() - 2.0;
    let _ = x.exp() - 1.0 * 2.0;
}