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.
15 assert!((float::is_NaN(nan)));
17 let inf = float::infinity;
18 assert!((-inf == float::neg_infinity));
20 assert!(( nan != nan));
21 assert!(( nan != -nan));
22 assert!((-nan != -nan));
23 assert!((-nan != nan));
25 assert!(( nan != 1.));
26 assert!(( nan != 0.));
27 assert!(( nan != inf));
28 assert!(( nan != -inf));
30 assert!(( 1. != nan));
31 assert!(( 0. != nan));
32 assert!(( inf != nan));
33 assert!((-inf != nan));
35 assert!((!( nan == nan)));
36 assert!((!( nan == -nan)));
37 assert!((!( nan == 1.)));
38 assert!((!( nan == 0.)));
39 assert!((!( nan == inf)));
40 assert!((!( nan == -inf)));
41 assert!((!( 1. == nan)));
42 assert!((!( 0. == nan)));
43 assert!((!( inf == nan)));
44 assert!((!(-inf == nan)));
45 assert!((!(-nan == nan)));
46 assert!((!(-nan == -nan)));
48 assert!((!( nan > nan)));
49 assert!((!( nan > -nan)));
50 assert!((!( nan > 0.)));
51 assert!((!( nan > inf)));
52 assert!((!( nan > -inf)));
53 assert!((!( 0. > nan)));
54 assert!((!( inf > nan)));
55 assert!((!(-inf > nan)));
56 assert!((!(-nan > nan)));
58 assert!((!(nan < 0.)));
59 assert!((!(nan < 1.)));
60 assert!((!(nan < -1.)));
61 assert!((!(nan < inf)));
62 assert!((!(nan < -inf)));
63 assert!((!(nan < nan)));
64 assert!((!(nan < -nan)));
66 assert!((!( 0. < nan)));
67 assert!((!( 1. < nan)));
68 assert!((!( -1. < nan)));
69 assert!((!( inf < nan)));
70 assert!((!(-inf < nan)));
71 assert!((!(-nan < nan)));
73 assert!((float::is_NaN(nan + inf)));
74 assert!((float::is_NaN(nan + -inf)));
75 assert!((float::is_NaN(nan + 0.)));
76 assert!((float::is_NaN(nan + 1.)));
77 assert!((float::is_NaN(nan * 1.)));
78 assert!((float::is_NaN(nan / 1.)));
79 assert!((float::is_NaN(nan / 0.)));
80 assert!((float::is_NaN(0. / 0.)));
81 assert!((float::is_NaN(-inf + inf)));
82 assert!((float::is_NaN(inf - inf)));
84 assert!((!float::is_NaN(-1.)));
85 assert!((!float::is_NaN(0.)));
86 assert!((!float::is_NaN(0.1)));
87 assert!((!float::is_NaN(1.)));
88 assert!((!float::is_NaN(inf)));
89 assert!((!float::is_NaN(-inf)));
90 assert!((!float::is_NaN(1./-inf)));