]> git.lizzy.rs Git - rust.git/blob - src/test/ui/numbers-arithmetic/float-nan.rs
Update tests to remove old numeric constants
[rust.git] / src / test / ui / numbers-arithmetic / float-nan.rs
1 // run-pass
2
3 pub fn main() {
4   let nan: f64 = f64::NAN;
5   assert!((nan).is_nan());
6
7   let inf: f64 = f64::INFINITY;
8   let neg_inf: f64 = -f64::INFINITY;
9   assert_eq!(-inf, neg_inf);
10
11   assert!( nan !=  nan);
12   assert!( nan != -nan);
13   assert!(-nan != -nan);
14   assert!(-nan !=  nan);
15
16   assert!( nan !=   1.);
17   assert!( nan !=   0.);
18   assert!( nan !=  inf);
19   assert!( nan != -inf);
20
21   assert!(  1. !=  nan);
22   assert!(  0. !=  nan);
23   assert!( inf !=  nan);
24   assert!(-inf !=  nan);
25
26   assert!(!( nan == nan));
27   assert!(!( nan == -nan));
28   assert!(!( nan == 1.));
29   assert!(!( nan == 0.));
30   assert!(!( nan == inf));
31   assert!(!( nan == -inf));
32   assert!(!(  1. == nan));
33   assert!(!(  0. == nan));
34   assert!(!( inf == nan));
35   assert!(!(-inf == nan));
36   assert!(!(-nan == nan));
37   assert!(!(-nan == -nan));
38
39   assert!(!( nan >  nan));
40   assert!(!( nan > -nan));
41   assert!(!( nan >   0.));
42   assert!(!( nan >  inf));
43   assert!(!( nan > -inf));
44   assert!(!(  0. >  nan));
45   assert!(!( inf >  nan));
46   assert!(!(-inf >  nan));
47   assert!(!(-nan >  nan));
48
49   assert!(!(nan <   0.));
50   assert!(!(nan <   1.));
51   assert!(!(nan <  -1.));
52   assert!(!(nan <  inf));
53   assert!(!(nan < -inf));
54   assert!(!(nan <  nan));
55   assert!(!(nan < -nan));
56
57   assert!(!(  0. < nan));
58   assert!(!(  1. < nan));
59   assert!(!( -1. < nan));
60   assert!(!( inf < nan));
61   assert!(!(-inf < nan));
62   assert!(!(-nan < nan));
63
64   assert!((nan + inf).is_nan());
65   assert!((nan + -inf).is_nan());
66   assert!((nan + 0.).is_nan());
67   assert!((nan + 1.).is_nan());
68   assert!((nan * 1.).is_nan());
69   assert!((nan / 1.).is_nan());
70   assert!((nan / 0.).is_nan());
71   assert!((0.0/0.0f64).is_nan());
72   assert!((-inf + inf).is_nan());
73   assert!((inf - inf).is_nan());
74
75   assert!(!(-1.0f64).is_nan());
76   assert!(!(0.0f64).is_nan());
77   assert!(!(0.1f64).is_nan());
78   assert!(!(1.0f64).is_nan());
79   assert!(!(inf).is_nan());
80   assert!(!(-inf).is_nan());
81   assert!(!(1./-inf).is_nan());
82 }