]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
c34b1796 | 2 | |
1a4d82fc JJ |
3 | macro_rules! assert_approx_eq { |
4 | ($a:expr, $b:expr) => ({ | |
1a4d82fc JJ |
5 | let (a, b) = (&$a, &$b); |
6 | assert!((*a - *b).abs() < 1.0e-6, | |
7 | "{} is not approximately equal to {}", *a, *b); | |
8 | }) | |
9 | } | |
10 | ||
c34b1796 AL |
11 | static A: isize = -4 + 3; |
12 | static A2: usize = 3 + 3; | |
1a4d82fc | 13 | static B: f64 = 3.0 + 2.7; |
970d7e83 | 14 | |
c34b1796 AL |
15 | static C: isize = 3 - 4; |
16 | static D: usize = 3 - 3; | |
1a4d82fc | 17 | static E: f64 = 3.0 - 2.7; |
970d7e83 | 18 | |
c34b1796 AL |
19 | static E2: isize = -3 * 3; |
20 | static F: usize = 3 * 3; | |
1a4d82fc | 21 | static G: f64 = 3.3 * 3.3; |
970d7e83 | 22 | |
c34b1796 AL |
23 | static H: isize = 3 / -1; |
24 | static I: usize = 3 / 3; | |
1a4d82fc | 25 | static J: f64 = 3.3 / 3.3; |
970d7e83 | 26 | |
1a4d82fc | 27 | static N: bool = true && false; |
970d7e83 | 28 | |
1a4d82fc | 29 | static O: bool = true || false; |
970d7e83 | 30 | |
c34b1796 AL |
31 | static P: isize = 3 & 1; |
32 | static Q: usize = 1 & 3; | |
970d7e83 | 33 | |
c34b1796 AL |
34 | static R: isize = 3 | 1; |
35 | static S: usize = 1 | 3; | |
970d7e83 | 36 | |
c34b1796 AL |
37 | static T: isize = 3 ^ 1; |
38 | static U: usize = 1 ^ 3; | |
970d7e83 | 39 | |
c34b1796 | 40 | static V: isize = 1 << 3; |
970d7e83 LB |
41 | |
42 | // NOTE: better shr coverage | |
c34b1796 AL |
43 | static W: isize = 1024 >> 4; |
44 | static X: usize = 1024 >> 4; | |
970d7e83 | 45 | |
85aaf69f | 46 | static Y: bool = 1 == 1; |
1a4d82fc | 47 | static Z: bool = 1.0f64 == 1.0; |
970d7e83 | 48 | |
85aaf69f SL |
49 | static AA: bool = 1 <= 2; |
50 | static AB: bool = -1 <= 2; | |
1a4d82fc | 51 | static AC: bool = 1.0f64 <= 2.0; |
970d7e83 | 52 | |
85aaf69f SL |
53 | static AD: bool = 1 < 2; |
54 | static AE: bool = -1 < 2; | |
1a4d82fc | 55 | static AF: bool = 1.0f64 < 2.0; |
970d7e83 | 56 | |
85aaf69f SL |
57 | static AG: bool = 1 != 2; |
58 | static AH: bool = -1 != 2; | |
1a4d82fc | 59 | static AI: bool = 1.0f64 != 2.0; |
970d7e83 | 60 | |
85aaf69f SL |
61 | static AJ: bool = 2 >= 1; |
62 | static AK: bool = 2 >= -2; | |
1a4d82fc | 63 | static AL: bool = 1.0f64 >= -2.0; |
970d7e83 | 64 | |
85aaf69f SL |
65 | static AM: bool = 2 > 1; |
66 | static AN: bool = 2 > -2; | |
1a4d82fc | 67 | static AO: bool = 1.0f64 > -2.0; |
970d7e83 | 68 | |
1a4d82fc JJ |
69 | pub fn main() { |
70 | assert_eq!(A, -1); | |
71 | assert_eq!(A2, 6); | |
72 | assert_approx_eq!(B, 5.7); | |
970d7e83 | 73 | |
1a4d82fc JJ |
74 | assert_eq!(C, -1); |
75 | assert_eq!(D, 0); | |
76 | assert_approx_eq!(E, 0.3); | |
970d7e83 | 77 | |
1a4d82fc JJ |
78 | assert_eq!(E2, -9); |
79 | assert_eq!(F, 9); | |
80 | assert_approx_eq!(G, 10.89); | |
970d7e83 | 81 | |
1a4d82fc JJ |
82 | assert_eq!(H, -3); |
83 | assert_eq!(I, 1); | |
84 | assert_approx_eq!(J, 1.0); | |
970d7e83 | 85 | |
1a4d82fc | 86 | assert_eq!(N, false); |
970d7e83 | 87 | |
1a4d82fc | 88 | assert_eq!(O, true); |
970d7e83 | 89 | |
1a4d82fc JJ |
90 | assert_eq!(P, 1); |
91 | assert_eq!(Q, 1); | |
970d7e83 | 92 | |
1a4d82fc JJ |
93 | assert_eq!(R, 3); |
94 | assert_eq!(S, 3); | |
970d7e83 | 95 | |
1a4d82fc JJ |
96 | assert_eq!(T, 2); |
97 | assert_eq!(U, 2); | |
970d7e83 | 98 | |
1a4d82fc | 99 | assert_eq!(V, 8); |
970d7e83 | 100 | |
1a4d82fc JJ |
101 | assert_eq!(W, 64); |
102 | assert_eq!(X, 64); | |
970d7e83 | 103 | |
1a4d82fc JJ |
104 | assert_eq!(Y, true); |
105 | assert_eq!(Z, true); | |
970d7e83 | 106 | |
1a4d82fc JJ |
107 | assert_eq!(AA, true); |
108 | assert_eq!(AB, true); | |
109 | assert_eq!(AC, true); | |
970d7e83 | 110 | |
1a4d82fc JJ |
111 | assert_eq!(AD, true); |
112 | assert_eq!(AE, true); | |
113 | assert_eq!(AF, true); | |
970d7e83 | 114 | |
1a4d82fc JJ |
115 | assert_eq!(AG, true); |
116 | assert_eq!(AH, true); | |
117 | assert_eq!(AI, true); | |
970d7e83 | 118 | |
1a4d82fc JJ |
119 | assert_eq!(AJ, true); |
120 | assert_eq!(AK, true); | |
121 | assert_eq!(AL, true); | |
970d7e83 | 122 | |
1a4d82fc JJ |
123 | assert_eq!(AM, true); |
124 | assert_eq!(AN, true); | |
125 | assert_eq!(AO, true); | |
970d7e83 | 126 | } |