blob: 918d45ad49246c4bc473a5b0dfe16d5876a4bb28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern mod std;
pub fn main() {
let nan = float::NaN;
assert!((float::is_NaN(nan)));
let inf = float::infinity;
assert!((-inf == float::neg_infinity));
assert!(( nan != nan));
assert!(( nan != -nan));
assert!((-nan != -nan));
assert!((-nan != nan));
assert!(( nan != 1.));
assert!(( nan != 0.));
assert!(( nan != inf));
assert!(( nan != -inf));
assert!(( 1. != nan));
assert!(( 0. != nan));
assert!(( inf != nan));
assert!((-inf != nan));
assert!((!( nan == nan)));
assert!((!( nan == -nan)));
assert!((!( nan == 1.)));
assert!((!( nan == 0.)));
assert!((!( nan == inf)));
assert!((!( nan == -inf)));
assert!((!( 1. == nan)));
assert!((!( 0. == nan)));
assert!((!( inf == nan)));
assert!((!(-inf == nan)));
assert!((!(-nan == nan)));
assert!((!(-nan == -nan)));
assert!((!( nan > nan)));
assert!((!( nan > -nan)));
assert!((!( nan > 0.)));
assert!((!( nan > inf)));
assert!((!( nan > -inf)));
assert!((!( 0. > nan)));
assert!((!( inf > nan)));
assert!((!(-inf > nan)));
assert!((!(-nan > nan)));
assert!((!(nan < 0.)));
assert!((!(nan < 1.)));
assert!((!(nan < -1.)));
assert!((!(nan < inf)));
assert!((!(nan < -inf)));
assert!((!(nan < nan)));
assert!((!(nan < -nan)));
assert!((!( 0. < nan)));
assert!((!( 1. < nan)));
assert!((!( -1. < nan)));
assert!((!( inf < nan)));
assert!((!(-inf < nan)));
assert!((!(-nan < nan)));
assert!((float::is_NaN(nan + inf)));
assert!((float::is_NaN(nan + -inf)));
assert!((float::is_NaN(nan + 0.)));
assert!((float::is_NaN(nan + 1.)));
assert!((float::is_NaN(nan * 1.)));
assert!((float::is_NaN(nan / 1.)));
assert!((float::is_NaN(nan / 0.)));
assert!((float::is_NaN(0. / 0.)));
assert!((float::is_NaN(-inf + inf)));
assert!((float::is_NaN(inf - inf)));
assert!((!float::is_NaN(-1.)));
assert!((!float::is_NaN(0.)));
assert!((!float::is_NaN(0.1)));
assert!((!float::is_NaN(1.)));
assert!((!float::is_NaN(inf)));
assert!((!float::is_NaN(-inf)));
assert!((!float::is_NaN(1./-inf)));
}
|