1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // pretty-expanded FIXME #23616
18 let nan: f64 = Float::nan();
19 assert!((nan).is_nan());
21 let inf: f64 = Float::infinity();
22 let neg_inf: f64 = Float::neg_infinity();
23 assert_eq!(-inf, neg_inf);
26 assert!( nan != -nan);
27 assert!(-nan != -nan);
33 assert!( nan != -inf);
40 assert!(!( nan == nan));
41 assert!(!( nan == -nan));
42 assert!(!( nan == 1.));
43 assert!(!( nan == 0.));
44 assert!(!( nan == inf));
45 assert!(!( nan == -inf));
46 assert!(!( 1. == nan));
47 assert!(!( 0. == nan));
48 assert!(!( inf == nan));
49 assert!(!(-inf == nan));
50 assert!(!(-nan == nan));
51 assert!(!(-nan == -nan));
53 assert!(!( nan > nan));
54 assert!(!( nan > -nan));
55 assert!(!( nan > 0.));
56 assert!(!( nan > inf));
57 assert!(!( nan > -inf));
58 assert!(!( 0. > nan));
59 assert!(!( inf > nan));
60 assert!(!(-inf > nan));
61 assert!(!(-nan > nan));
65 assert!(!(nan < -1.));
66 assert!(!(nan < inf));
67 assert!(!(nan < -inf));
68 assert!(!(nan < nan));
69 assert!(!(nan < -nan));
71 assert!(!( 0. < nan));
72 assert!(!( 1. < nan));
73 assert!(!( -1. < nan));
74 assert!(!( inf < nan));
75 assert!(!(-inf < nan));
76 assert!(!(-nan < nan));
78 assert!((nan + inf).is_nan());
79 assert!((nan + -inf).is_nan());
80 assert!((nan + 0.).is_nan());
81 assert!((nan + 1.).is_nan());
82 assert!((nan * 1.).is_nan());
83 assert!((nan / 1.).is_nan());
84 assert!((nan / 0.).is_nan());
85 assert!((0.0/0.0f64).is_nan());
86 assert!((-inf + inf).is_nan());
87 assert!((inf - inf).is_nan());
89 assert!(!(-1.0f64).is_nan());
90 assert!(!(0.0f64).is_nan());
91 assert!(!(0.1f64).is_nan());
92 assert!(!(1.0f64).is_nan());
93 assert!(!(inf).is_nan());
94 assert!(!(-inf).is_nan());
95 assert!(!(1./-inf).is_nan());