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.
16 let nan: f64 = Float::nan();
17 assert!((nan).is_nan());
19 let inf: f64 = Float::infinity();
20 let neg_inf: f64 = Float::neg_infinity();
21 assert_eq!(-inf, neg_inf);
24 assert!( nan != -nan);
25 assert!(-nan != -nan);
31 assert!( nan != -inf);
38 assert!(!( nan == nan));
39 assert!(!( nan == -nan));
40 assert!(!( nan == 1.));
41 assert!(!( nan == 0.));
42 assert!(!( nan == inf));
43 assert!(!( nan == -inf));
44 assert!(!( 1. == nan));
45 assert!(!( 0. == nan));
46 assert!(!( inf == nan));
47 assert!(!(-inf == nan));
48 assert!(!(-nan == nan));
49 assert!(!(-nan == -nan));
51 assert!(!( nan > nan));
52 assert!(!( nan > -nan));
53 assert!(!( nan > 0.));
54 assert!(!( nan > inf));
55 assert!(!( nan > -inf));
56 assert!(!( 0. > nan));
57 assert!(!( inf > nan));
58 assert!(!(-inf > nan));
59 assert!(!(-nan > nan));
63 assert!(!(nan < -1.));
64 assert!(!(nan < inf));
65 assert!(!(nan < -inf));
66 assert!(!(nan < nan));
67 assert!(!(nan < -nan));
69 assert!(!( 0. < nan));
70 assert!(!( 1. < nan));
71 assert!(!( -1. < nan));
72 assert!(!( inf < nan));
73 assert!(!(-inf < nan));
74 assert!(!(-nan < nan));
76 assert!((nan + inf).is_nan());
77 assert!((nan + -inf).is_nan());
78 assert!((nan + 0.).is_nan());
79 assert!((nan + 1.).is_nan());
80 assert!((nan * 1.).is_nan());
81 assert!((nan / 1.).is_nan());
82 assert!((nan / 0.).is_nan());
83 assert!((0.0/0.0f64).is_nan());
84 assert!((-inf + inf).is_nan());
85 assert!((inf - inf).is_nan());
87 assert!(!(-1.0f64).is_nan());
88 assert!(!(0.0f64).is_nan());
89 assert!(!(0.1f64).is_nan());
90 assert!(!(1.0f64).is_nan());
91 assert!(!(inf).is_nan());
92 assert!(!(-inf).is_nan());
93 assert!(!(1./-inf).is_nan());