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 = Float::NaN::<float>();
17 assert!((nan).is_NaN());
19 let inf = Float::infinity::<float>();
20 assert_eq!(-inf, Float::neg_infinity::<float>());
23 assert!( nan != -nan);
24 assert!(-nan != -nan);
30 assert!( nan != -inf);
37 assert!(!( nan == nan));
38 assert!(!( nan == -nan));
39 assert!(!( nan == 1.));
40 assert!(!( nan == 0.));
41 assert!(!( nan == inf));
42 assert!(!( nan == -inf));
43 assert!(!( 1. == nan));
44 assert!(!( 0. == nan));
45 assert!(!( inf == nan));
46 assert!(!(-inf == nan));
47 assert!(!(-nan == nan));
48 assert!(!(-nan == -nan));
50 assert!(!( nan > nan));
51 assert!(!( nan > -nan));
52 assert!(!( nan > 0.));
53 assert!(!( nan > inf));
54 assert!(!( nan > -inf));
55 assert!(!( 0. > nan));
56 assert!(!( inf > nan));
57 assert!(!(-inf > nan));
58 assert!(!(-nan > nan));
62 assert!(!(nan < -1.));
63 assert!(!(nan < inf));
64 assert!(!(nan < -inf));
65 assert!(!(nan < nan));
66 assert!(!(nan < -nan));
68 assert!(!( 0. < nan));
69 assert!(!( 1. < nan));
70 assert!(!( -1. < nan));
71 assert!(!( inf < nan));
72 assert!(!(-inf < nan));
73 assert!(!(-nan < nan));
75 assert!((nan + inf).is_NaN());
76 assert!((nan + -inf).is_NaN());
77 assert!((nan + 0.).is_NaN());
78 assert!((nan + 1.).is_NaN());
79 assert!((nan * 1.).is_NaN());
80 assert!((nan / 1.).is_NaN());
81 assert!((nan / 0.).is_NaN());
82 assert!((0f/0f).is_NaN());
83 assert!((-inf + inf).is_NaN());
84 assert!((inf - inf).is_NaN());
86 assert!(!(-1f).is_NaN());
87 assert!(!(0f).is_NaN());
88 assert!(!(0.1f).is_NaN());
89 assert!(!(1f).is_NaN());
90 assert!(!(inf).is_NaN());
91 assert!(!(-inf).is_NaN());
92 assert!(!(1./-inf).is_NaN());