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.
14 let nan: f64 = Float::nan();
15 assert!((nan).is_nan());
17 let inf: f64 = Float::infinity();
18 let neg_inf: f64 = Float::neg_infinity();
19 assert_eq!(-inf, neg_inf);
22 assert!( nan != -nan);
23 assert!(-nan != -nan);
29 assert!( nan != -inf);
36 assert!(!( nan == nan));
37 assert!(!( nan == -nan));
38 assert!(!( nan == 1.));
39 assert!(!( nan == 0.));
40 assert!(!( nan == inf));
41 assert!(!( nan == -inf));
42 assert!(!( 1. == nan));
43 assert!(!( 0. == nan));
44 assert!(!( inf == nan));
45 assert!(!(-inf == nan));
46 assert!(!(-nan == nan));
47 assert!(!(-nan == -nan));
49 assert!(!( nan > nan));
50 assert!(!( nan > -nan));
51 assert!(!( nan > 0.));
52 assert!(!( nan > inf));
53 assert!(!( nan > -inf));
54 assert!(!( 0. > nan));
55 assert!(!( inf > nan));
56 assert!(!(-inf > nan));
57 assert!(!(-nan > nan));
61 assert!(!(nan < -1.));
62 assert!(!(nan < inf));
63 assert!(!(nan < -inf));
64 assert!(!(nan < nan));
65 assert!(!(nan < -nan));
67 assert!(!( 0. < nan));
68 assert!(!( 1. < nan));
69 assert!(!( -1. < nan));
70 assert!(!( inf < nan));
71 assert!(!(-inf < nan));
72 assert!(!(-nan < nan));
74 assert!((nan + inf).is_nan());
75 assert!((nan + -inf).is_nan());
76 assert!((nan + 0.).is_nan());
77 assert!((nan + 1.).is_nan());
78 assert!((nan * 1.).is_nan());
79 assert!((nan / 1.).is_nan());
80 assert!((nan / 0.).is_nan());
81 assert!((0.0/0.0f64).is_nan());
82 assert!((-inf + inf).is_nan());
83 assert!((inf - inf).is_nan());
85 assert!(!(-1.0f64).is_nan());
86 assert!(!(0.0f64).is_nan());
87 assert!(!(0.1f64).is_nan());
88 assert!(!(1.0f64).is_nan());
89 assert!(!(inf).is_nan());
90 assert!(!(-inf).is_nan());
91 assert!(!(1./-inf).is_nan());