|
10 | 10 |
|
11 | 11 | extern mod std;
|
12 | 12 |
|
| 13 | +use core::num::Float::{ |
| 14 | + NaN, infinity, neg_infinity |
| 15 | +}; |
| 16 | + |
13 | 17 | pub fn main() {
|
14 |
| - let nan = float::NaN; |
15 |
| - assert!((float::is_NaN(nan))); |
| 18 | + let nan = NaN::<float>(); |
| 19 | + assert!((nan).is_NaN()); |
16 | 20 |
|
17 |
| - let inf = float::infinity; |
18 |
| - assert!((-inf == float::neg_infinity)); |
| 21 | + let inf = infinity::<float>(); |
| 22 | + assert!(-inf == neg_infinity::<float>()); |
19 | 23 |
|
20 |
| - assert!(( nan != nan)); |
21 |
| - assert!(( nan != -nan)); |
22 |
| - assert!((-nan != -nan)); |
23 |
| - assert!((-nan != nan)); |
| 24 | + assert!( nan != nan); |
| 25 | + assert!( nan != -nan); |
| 26 | + assert!(-nan != -nan); |
| 27 | + assert!(-nan != nan); |
24 | 28 |
|
25 |
| - assert!(( nan != 1.)); |
26 |
| - assert!(( nan != 0.)); |
27 |
| - assert!(( nan != inf)); |
28 |
| - assert!(( nan != -inf)); |
| 29 | + assert!( nan != 1.); |
| 30 | + assert!( nan != 0.); |
| 31 | + assert!( nan != inf); |
| 32 | + assert!( nan != -inf); |
29 | 33 |
|
30 |
| - assert!(( 1. != nan)); |
31 |
| - assert!(( 0. != nan)); |
32 |
| - assert!(( inf != nan)); |
33 |
| - assert!((-inf != nan)); |
| 34 | + assert!( 1. != nan); |
| 35 | + assert!( 0. != nan); |
| 36 | + assert!( inf != nan); |
| 37 | + assert!(-inf != nan); |
34 | 38 |
|
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))); |
| 39 | + assert!(!( nan == nan)); |
| 40 | + assert!(!( nan == -nan)); |
| 41 | + assert!(!( nan == 1.)); |
| 42 | + assert!(!( nan == 0.)); |
| 43 | + assert!(!( nan == inf)); |
| 44 | + assert!(!( nan == -inf)); |
| 45 | + assert!(!( 1. == nan)); |
| 46 | + assert!(!( 0. == nan)); |
| 47 | + assert!(!( inf == nan)); |
| 48 | + assert!(!(-inf == nan)); |
| 49 | + assert!(!(-nan == nan)); |
| 50 | + assert!(!(-nan == -nan)); |
47 | 51 |
|
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))); |
| 52 | + assert!(!( nan > nan)); |
| 53 | + assert!(!( nan > -nan)); |
| 54 | + assert!(!( nan > 0.)); |
| 55 | + assert!(!( nan > inf)); |
| 56 | + assert!(!( nan > -inf)); |
| 57 | + assert!(!( 0. > nan)); |
| 58 | + assert!(!( inf > nan)); |
| 59 | + assert!(!(-inf > nan)); |
| 60 | + assert!(!(-nan > nan)); |
57 | 61 |
|
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))); |
| 62 | + assert!(!(nan < 0.)); |
| 63 | + assert!(!(nan < 1.)); |
| 64 | + assert!(!(nan < -1.)); |
| 65 | + assert!(!(nan < inf)); |
| 66 | + assert!(!(nan < -inf)); |
| 67 | + assert!(!(nan < nan)); |
| 68 | + assert!(!(nan < -nan)); |
65 | 69 |
|
66 |
| - assert!((!( 0. < nan))); |
67 |
| - assert!((!( 1. < nan))); |
68 |
| - assert!((!( -1. < nan))); |
69 |
| - assert!((!( inf < nan))); |
70 |
| - assert!((!(-inf < nan))); |
71 |
| - assert!((!(-nan < nan))); |
| 70 | + assert!(!( 0. < nan)); |
| 71 | + assert!(!( 1. < nan)); |
| 72 | + assert!(!( -1. < nan)); |
| 73 | + assert!(!( inf < nan)); |
| 74 | + assert!(!(-inf < nan)); |
| 75 | + assert!(!(-nan < nan)); |
72 | 76 |
|
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))); |
| 77 | + assert!((nan + inf).is_NaN()); |
| 78 | + assert!((nan + -inf).is_NaN()); |
| 79 | + assert!((nan + 0.).is_NaN()); |
| 80 | + assert!((nan + 1.).is_NaN()); |
| 81 | + assert!((nan * 1.).is_NaN()); |
| 82 | + assert!((nan / 1.).is_NaN()); |
| 83 | + assert!((nan / 0.).is_NaN()); |
| 84 | + assert!((0f/0f).is_NaN()); |
| 85 | + assert!((-inf + inf).is_NaN()); |
| 86 | + assert!((inf - inf).is_NaN()); |
83 | 87 |
|
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))); |
| 88 | + assert!(!(-1f).is_NaN()); |
| 89 | + assert!(!(0f).is_NaN()); |
| 90 | + assert!(!(0.1f).is_NaN()); |
| 91 | + assert!(!(1f).is_NaN()); |
| 92 | + assert!(!(inf).is_NaN()); |
| 93 | + assert!(!(-inf).is_NaN()); |
| 94 | + assert!(!(1./-inf).is_NaN()); |
91 | 95 | }
|
0 commit comments