@@ -13,194 +13,110 @@ use std::intrinsics::*;
13
13
14
14
pub fn main ( ) {
15
15
unsafe {
16
- assert_eq ! ( ctpop( 0u8 ) , 0 ) ;
17
- assert_eq ! ( ctpop( 0i8 ) , 0 ) ;
18
- assert_eq ! ( ctpop( 0u16 ) , 0 ) ;
19
- assert_eq ! ( ctpop( 0i16 ) , 0 ) ;
20
- assert_eq ! ( ctpop( 0u32 ) , 0 ) ;
21
- assert_eq ! ( ctpop( 0i32 ) , 0 ) ;
22
- assert_eq ! ( ctpop( 0u64 ) , 0 ) ;
23
- assert_eq ! ( ctpop( 0i64 ) , 0 ) ;
24
-
25
- assert_eq ! ( ctpop( 1u8 ) , 1 ) ;
26
- assert_eq ! ( ctpop( 1i8 ) , 1 ) ;
27
- assert_eq ! ( ctpop( 1u16 ) , 1 ) ;
28
- assert_eq ! ( ctpop( 1i16 ) , 1 ) ;
29
- assert_eq ! ( ctpop( 1u32 ) , 1 ) ;
30
- assert_eq ! ( ctpop( 1i32 ) , 1 ) ;
31
- assert_eq ! ( ctpop( 1u64 ) , 1 ) ;
32
- assert_eq ! ( ctpop( 1i64 ) , 1 ) ;
33
-
34
- assert_eq ! ( ctpop( 10u8 ) , 2 ) ;
35
- assert_eq ! ( ctpop( 10i8 ) , 2 ) ;
36
- assert_eq ! ( ctpop( 10u16 ) , 2 ) ;
37
- assert_eq ! ( ctpop( 10i16 ) , 2 ) ;
38
- assert_eq ! ( ctpop( 10u32 ) , 2 ) ;
39
- assert_eq ! ( ctpop( 10i32 ) , 2 ) ;
40
- assert_eq ! ( ctpop( 10u64 ) , 2 ) ;
41
- assert_eq ! ( ctpop( 10i64 ) , 2 ) ;
42
-
43
- assert_eq ! ( ctpop( 100u8 ) , 3 ) ;
44
- assert_eq ! ( ctpop( 100i8 ) , 3 ) ;
45
- assert_eq ! ( ctpop( 100u16 ) , 3 ) ;
46
- assert_eq ! ( ctpop( 100i16 ) , 3 ) ;
47
- assert_eq ! ( ctpop( 100u32 ) , 3 ) ;
48
- assert_eq ! ( ctpop( 100i32 ) , 3 ) ;
49
- assert_eq ! ( ctpop( 100u64 ) , 3 ) ;
50
- assert_eq ! ( ctpop( 100i64 ) , 3 ) ;
51
-
52
- assert_eq ! ( ctpop( -1i8 as u8 ) , 8 ) ;
53
- assert_eq ! ( ctpop( -1i8 ) , 8 ) ;
54
- assert_eq ! ( ctpop( -1i16 as u16 ) , 16 ) ;
55
- assert_eq ! ( ctpop( -1i16 ) , 16 ) ;
56
- assert_eq ! ( ctpop( -1i32 as u32 ) , 32 ) ;
57
- assert_eq ! ( ctpop( -1i32 ) , 32 ) ;
58
- assert_eq ! ( ctpop( -1i64 as u64 ) , 64 ) ;
59
- assert_eq ! ( ctpop( -1i64 ) , 64 ) ;
60
-
61
- assert_eq ! ( ctlz( 0u8 ) , 8 ) ;
62
- assert_eq ! ( ctlz( 0i8 ) , 8 ) ;
63
- assert_eq ! ( ctlz( 0u16 ) , 16 ) ;
64
- assert_eq ! ( ctlz( 0i16 ) , 16 ) ;
65
- assert_eq ! ( ctlz( 0u32 ) , 32 ) ;
66
- assert_eq ! ( ctlz( 0i32 ) , 32 ) ;
67
- assert_eq ! ( ctlz( 0u64 ) , 64 ) ;
68
- assert_eq ! ( ctlz( 0i64 ) , 64 ) ;
69
-
70
- assert_eq ! ( ctlz( 1u8 ) , 7 ) ;
71
- assert_eq ! ( ctlz( 1i8 ) , 7 ) ;
72
- assert_eq ! ( ctlz( 1u16 ) , 15 ) ;
73
- assert_eq ! ( ctlz( 1i16 ) , 15 ) ;
74
- assert_eq ! ( ctlz( 1u32 ) , 31 ) ;
75
- assert_eq ! ( ctlz( 1i32 ) , 31 ) ;
76
- assert_eq ! ( ctlz( 1u64 ) , 63 ) ;
77
- assert_eq ! ( ctlz( 1i64 ) , 63 ) ;
78
-
79
- assert_eq ! ( ctlz( 10u8 ) , 4 ) ;
80
- assert_eq ! ( ctlz( 10i8 ) , 4 ) ;
81
- assert_eq ! ( ctlz( 10u16 ) , 12 ) ;
82
- assert_eq ! ( ctlz( 10i16 ) , 12 ) ;
83
- assert_eq ! ( ctlz( 10u32 ) , 28 ) ;
84
- assert_eq ! ( ctlz( 10i32 ) , 28 ) ;
85
- assert_eq ! ( ctlz( 10u64 ) , 60 ) ;
86
- assert_eq ! ( ctlz( 10i64 ) , 60 ) ;
87
-
88
- assert_eq ! ( ctlz( 100u8 ) , 1 ) ;
89
- assert_eq ! ( ctlz( 100i8 ) , 1 ) ;
90
- assert_eq ! ( ctlz( 100u16 ) , 9 ) ;
91
- assert_eq ! ( ctlz( 100i16 ) , 9 ) ;
92
- assert_eq ! ( ctlz( 100u32 ) , 25 ) ;
93
- assert_eq ! ( ctlz( 100i32 ) , 25 ) ;
94
- assert_eq ! ( ctlz( 100u64 ) , 57 ) ;
95
- assert_eq ! ( ctlz( 100i64 ) , 57 ) ;
96
-
97
- assert_eq ! ( ctlz_nonzero( 1u8 ) , 7 ) ;
98
- assert_eq ! ( ctlz_nonzero( 1i8 ) , 7 ) ;
99
- assert_eq ! ( ctlz_nonzero( 1u16 ) , 15 ) ;
100
- assert_eq ! ( ctlz_nonzero( 1i16 ) , 15 ) ;
101
- assert_eq ! ( ctlz_nonzero( 1u32 ) , 31 ) ;
102
- assert_eq ! ( ctlz_nonzero( 1i32 ) , 31 ) ;
103
- assert_eq ! ( ctlz_nonzero( 1u64 ) , 63 ) ;
104
- assert_eq ! ( ctlz_nonzero( 1i64 ) , 63 ) ;
105
-
106
- assert_eq ! ( ctlz_nonzero( 10u8 ) , 4 ) ;
107
- assert_eq ! ( ctlz_nonzero( 10i8 ) , 4 ) ;
108
- assert_eq ! ( ctlz_nonzero( 10u16 ) , 12 ) ;
109
- assert_eq ! ( ctlz_nonzero( 10i16 ) , 12 ) ;
110
- assert_eq ! ( ctlz_nonzero( 10u32 ) , 28 ) ;
111
- assert_eq ! ( ctlz_nonzero( 10i32 ) , 28 ) ;
112
- assert_eq ! ( ctlz_nonzero( 10u64 ) , 60 ) ;
113
- assert_eq ! ( ctlz_nonzero( 10i64 ) , 60 ) ;
114
-
115
- assert_eq ! ( ctlz_nonzero( 100u8 ) , 1 ) ;
116
- assert_eq ! ( ctlz_nonzero( 100i8 ) , 1 ) ;
117
- assert_eq ! ( ctlz_nonzero( 100u16 ) , 9 ) ;
118
- assert_eq ! ( ctlz_nonzero( 100i16 ) , 9 ) ;
119
- assert_eq ! ( ctlz_nonzero( 100u32 ) , 25 ) ;
120
- assert_eq ! ( ctlz_nonzero( 100i32 ) , 25 ) ;
121
- assert_eq ! ( ctlz_nonzero( 100u64 ) , 57 ) ;
122
- assert_eq ! ( ctlz_nonzero( 100i64 ) , 57 ) ;
123
-
124
- assert_eq ! ( cttz( -1i8 as u8 ) , 0 ) ;
125
- assert_eq ! ( cttz( -1i8 ) , 0 ) ;
126
- assert_eq ! ( cttz( -1i16 as u16 ) , 0 ) ;
127
- assert_eq ! ( cttz( -1i16 ) , 0 ) ;
128
- assert_eq ! ( cttz( -1i32 as u32 ) , 0 ) ;
129
- assert_eq ! ( cttz( -1i32 ) , 0 ) ;
130
- assert_eq ! ( cttz( -1i64 as u64 ) , 0 ) ;
131
- assert_eq ! ( cttz( -1i64 ) , 0 ) ;
132
-
133
- assert_eq ! ( cttz( 0u8 ) , 8 ) ;
134
- assert_eq ! ( cttz( 0i8 ) , 8 ) ;
135
- assert_eq ! ( cttz( 0u16 ) , 16 ) ;
136
- assert_eq ! ( cttz( 0i16 ) , 16 ) ;
137
- assert_eq ! ( cttz( 0u32 ) , 32 ) ;
138
- assert_eq ! ( cttz( 0i32 ) , 32 ) ;
139
- assert_eq ! ( cttz( 0u64 ) , 64 ) ;
140
- assert_eq ! ( cttz( 0i64 ) , 64 ) ;
141
-
142
- assert_eq ! ( cttz( 1u8 ) , 0 ) ;
143
- assert_eq ! ( cttz( 1i8 ) , 0 ) ;
144
- assert_eq ! ( cttz( 1u16 ) , 0 ) ;
145
- assert_eq ! ( cttz( 1i16 ) , 0 ) ;
146
- assert_eq ! ( cttz( 1u32 ) , 0 ) ;
147
- assert_eq ! ( cttz( 1i32 ) , 0 ) ;
148
- assert_eq ! ( cttz( 1u64 ) , 0 ) ;
149
- assert_eq ! ( cttz( 1i64 ) , 0 ) ;
150
-
151
- assert_eq ! ( cttz( 10u8 ) , 1 ) ;
152
- assert_eq ! ( cttz( 10i8 ) , 1 ) ;
153
- assert_eq ! ( cttz( 10u16 ) , 1 ) ;
154
- assert_eq ! ( cttz( 10i16 ) , 1 ) ;
155
- assert_eq ! ( cttz( 10u32 ) , 1 ) ;
156
- assert_eq ! ( cttz( 10i32 ) , 1 ) ;
157
- assert_eq ! ( cttz( 10u64 ) , 1 ) ;
158
- assert_eq ! ( cttz( 10i64 ) , 1 ) ;
159
-
160
- assert_eq ! ( cttz( 100u8 ) , 2 ) ;
161
- assert_eq ! ( cttz( 100i8 ) , 2 ) ;
162
- assert_eq ! ( cttz( 100u16 ) , 2 ) ;
163
- assert_eq ! ( cttz( 100i16 ) , 2 ) ;
164
- assert_eq ! ( cttz( 100u32 ) , 2 ) ;
165
- assert_eq ! ( cttz( 100i32 ) , 2 ) ;
166
- assert_eq ! ( cttz( 100u64 ) , 2 ) ;
167
- assert_eq ! ( cttz( 100i64 ) , 2 ) ;
168
-
169
- assert_eq ! ( cttz_nonzero( -1i8 as u8 ) , 0 ) ;
170
- assert_eq ! ( cttz_nonzero( -1i8 ) , 0 ) ;
171
- assert_eq ! ( cttz_nonzero( -1i16 as u16 ) , 0 ) ;
172
- assert_eq ! ( cttz_nonzero( -1i16 ) , 0 ) ;
173
- assert_eq ! ( cttz_nonzero( -1i32 as u32 ) , 0 ) ;
174
- assert_eq ! ( cttz_nonzero( -1i32 ) , 0 ) ;
175
- assert_eq ! ( cttz_nonzero( -1i64 as u64 ) , 0 ) ;
176
- assert_eq ! ( cttz_nonzero( -1i64 ) , 0 ) ;
177
-
178
- assert_eq ! ( cttz_nonzero( 1u8 ) , 0 ) ;
179
- assert_eq ! ( cttz_nonzero( 1i8 ) , 0 ) ;
180
- assert_eq ! ( cttz_nonzero( 1u16 ) , 0 ) ;
181
- assert_eq ! ( cttz_nonzero( 1i16 ) , 0 ) ;
182
- assert_eq ! ( cttz_nonzero( 1u32 ) , 0 ) ;
183
- assert_eq ! ( cttz_nonzero( 1i32 ) , 0 ) ;
184
- assert_eq ! ( cttz_nonzero( 1u64 ) , 0 ) ;
185
- assert_eq ! ( cttz_nonzero( 1i64 ) , 0 ) ;
186
-
187
- assert_eq ! ( cttz_nonzero( 10u8 ) , 1 ) ;
188
- assert_eq ! ( cttz_nonzero( 10i8 ) , 1 ) ;
189
- assert_eq ! ( cttz_nonzero( 10u16 ) , 1 ) ;
190
- assert_eq ! ( cttz_nonzero( 10i16 ) , 1 ) ;
191
- assert_eq ! ( cttz_nonzero( 10u32 ) , 1 ) ;
192
- assert_eq ! ( cttz_nonzero( 10i32 ) , 1 ) ;
193
- assert_eq ! ( cttz_nonzero( 10u64 ) , 1 ) ;
194
- assert_eq ! ( cttz_nonzero( 10i64 ) , 1 ) ;
195
-
196
- assert_eq ! ( cttz_nonzero( 100u8 ) , 2 ) ;
197
- assert_eq ! ( cttz_nonzero( 100i8 ) , 2 ) ;
198
- assert_eq ! ( cttz_nonzero( 100u16 ) , 2 ) ;
199
- assert_eq ! ( cttz_nonzero( 100i16 ) , 2 ) ;
200
- assert_eq ! ( cttz_nonzero( 100u32 ) , 2 ) ;
201
- assert_eq ! ( cttz_nonzero( 100i32 ) , 2 ) ;
202
- assert_eq ! ( cttz_nonzero( 100u64 ) , 2 ) ;
203
- assert_eq ! ( cttz_nonzero( 100i64 ) , 2 ) ;
16
+ [ assert_eq ! ( ctpop( 0u8 ) , 0 ) , assert_eq ! ( ctpop( 0i8 ) , 0 ) ] ;
17
+ [ assert_eq ! ( ctpop( 0u16 ) , 0 ) , assert_eq ! ( ctpop( 0i16 ) , 0 ) ] ;
18
+ [ assert_eq ! ( ctpop( 0u32 ) , 0 ) , assert_eq ! ( ctpop( 0i32 ) , 0 ) ] ;
19
+ [ assert_eq ! ( ctpop( 0u64 ) , 0 ) , assert_eq ! ( ctpop( 0i64 ) , 0 ) ] ;
20
+
21
+ [ assert_eq ! ( ctpop( 1u8 ) , 1 ) , assert_eq ! ( ctpop( 1i8 ) , 1 ) ] ;
22
+ [ assert_eq ! ( ctpop( 1u16 ) , 1 ) , assert_eq ! ( ctpop( 1i16 ) , 1 ) ] ;
23
+ [ assert_eq ! ( ctpop( 1u32 ) , 1 ) , assert_eq ! ( ctpop( 1i32 ) , 1 ) ] ;
24
+ [ assert_eq ! ( ctpop( 1u64 ) , 1 ) , assert_eq ! ( ctpop( 1i64 ) , 1 ) ] ;
25
+
26
+ [ assert_eq ! ( ctpop( 10u8 ) , 2 ) , assert_eq ! ( ctpop( 10i8 ) , 2 ) ] ;
27
+ [ assert_eq ! ( ctpop( 10u16 ) , 2 ) , assert_eq ! ( ctpop( 10i16 ) , 2 ) ] ;
28
+ [ assert_eq ! ( ctpop( 10u32 ) , 2 ) , assert_eq ! ( ctpop( 10i32 ) , 2 ) ] ;
29
+ [ assert_eq ! ( ctpop( 10u64 ) , 2 ) , assert_eq ! ( ctpop( 10i64 ) , 2 ) ] ;
30
+
31
+ [ assert_eq ! ( ctpop( 100u8 ) , 3 ) , assert_eq ! ( ctpop( 100i8 ) , 3 ) ] ;
32
+ [ assert_eq ! ( ctpop( 100u16 ) , 3 ) , assert_eq ! ( ctpop( 100i16 ) , 3 ) ] ;
33
+ [ assert_eq ! ( ctpop( 100u32 ) , 3 ) , assert_eq ! ( ctpop( 100i32 ) , 3 ) ] ;
34
+ [ assert_eq ! ( ctpop( 100u64 ) , 3 ) , assert_eq ! ( ctpop( 100i64 ) , 3 ) ] ;
35
+
36
+ [ assert_eq ! ( ctpop( -1i8 as u8 ) , 8 ) , assert_eq ! ( ctpop( -1i8 ) , 8 ) ] ;
37
+ [ assert_eq ! ( ctpop( -1i16 as u16 ) , 16 ) , assert_eq ! ( ctpop( -1i16 ) , 16 ) ] ;
38
+ [ assert_eq ! ( ctpop( -1i32 as u32 ) , 32 ) , assert_eq ! ( ctpop( -1i32 ) , 32 ) ] ;
39
+ [ assert_eq ! ( ctpop( -1i64 as u64 ) , 64 ) , assert_eq ! ( ctpop( -1i64 ) , 64 ) ] ;
40
+
41
+ [ assert_eq ! ( ctlz( 0u8 ) , 8 ) , assert_eq ! ( ctlz( 0i8 ) , 8 ) ] ;
42
+ [ assert_eq ! ( ctlz( 0u16 ) , 16 ) , assert_eq ! ( ctlz( 0i16 ) , 16 ) ] ;
43
+ [ assert_eq ! ( ctlz( 0u32 ) , 32 ) , assert_eq ! ( ctlz( 0i32 ) , 32 ) ] ;
44
+ [ assert_eq ! ( ctlz( 0u64 ) , 64 ) , assert_eq ! ( ctlz( 0i64 ) , 64 ) ] ;
45
+
46
+ [ assert_eq ! ( ctlz( 1u8 ) , 7 ) , assert_eq ! ( ctlz( 1i8 ) , 7 ) ] ;
47
+ [ assert_eq ! ( ctlz( 1u16 ) , 15 ) , assert_eq ! ( ctlz( 1i16 ) , 15 ) ] ;
48
+ [ assert_eq ! ( ctlz( 1u32 ) , 31 ) , assert_eq ! ( ctlz( 1i32 ) , 31 ) ] ;
49
+ [ assert_eq ! ( ctlz( 1u64 ) , 63 ) , assert_eq ! ( ctlz( 1i64 ) , 63 ) ] ;
50
+
51
+ [ assert_eq ! ( ctlz( 10u8 ) , 4 ) , assert_eq ! ( ctlz( 10i8 ) , 4 ) ] ;
52
+ [ assert_eq ! ( ctlz( 10u16 ) , 12 ) , assert_eq ! ( ctlz( 10i16 ) , 12 ) ] ;
53
+ [ assert_eq ! ( ctlz( 10u32 ) , 28 ) , assert_eq ! ( ctlz( 10i32 ) , 28 ) ] ;
54
+ [ assert_eq ! ( ctlz( 10u64 ) , 60 ) , assert_eq ! ( ctlz( 10i64 ) , 60 ) ] ;
55
+
56
+ [ assert_eq ! ( ctlz( 100u8 ) , 1 ) , assert_eq ! ( ctlz( 100i8 ) , 1 ) ] ;
57
+ [ assert_eq ! ( ctlz( 100u16 ) , 9 ) , assert_eq ! ( ctlz( 100i16 ) , 9 ) ] ;
58
+ [ assert_eq ! ( ctlz( 100u32 ) , 25 ) , assert_eq ! ( ctlz( 100i32 ) , 25 ) ] ;
59
+ [ assert_eq ! ( ctlz( 100u64 ) , 57 ) , assert_eq ! ( ctlz( 100i64 ) , 57 ) ] ;
60
+
61
+ [ assert_eq ! ( ctlz_nonzero( 1u8 ) , 7 ) , assert_eq ! ( ctlz_nonzero( 1i8 ) , 7 ) ] ;
62
+ [ assert_eq ! ( ctlz_nonzero( 1u16 ) , 15 ) , assert_eq ! ( ctlz_nonzero( 1i16 ) , 15 ) ] ;
63
+ [ assert_eq ! ( ctlz_nonzero( 1u32 ) , 31 ) , assert_eq ! ( ctlz_nonzero( 1i32 ) , 31 ) ] ;
64
+ [ assert_eq ! ( ctlz_nonzero( 1u64 ) , 63 ) , assert_eq ! ( ctlz_nonzero( 1i64 ) , 63 ) ] ;
65
+
66
+ [ assert_eq ! ( ctlz_nonzero( 10u8 ) , 4 ) , assert_eq ! ( ctlz_nonzero( 10i8 ) , 4 ) ] ;
67
+ [ assert_eq ! ( ctlz_nonzero( 10u16 ) , 12 ) , assert_eq ! ( ctlz_nonzero( 10i16 ) , 12 ) ] ;
68
+ [ assert_eq ! ( ctlz_nonzero( 10u32 ) , 28 ) , assert_eq ! ( ctlz_nonzero( 10i32 ) , 28 ) ] ;
69
+ [ assert_eq ! ( ctlz_nonzero( 10u64 ) , 60 ) , assert_eq ! ( ctlz_nonzero( 10i64 ) , 60 ) ] ;
70
+
71
+ [ assert_eq ! ( ctlz_nonzero( 100u8 ) , 1 ) , assert_eq ! ( ctlz_nonzero( 100i8 ) , 1 ) ] ;
72
+ [ assert_eq ! ( ctlz_nonzero( 100u16 ) , 9 ) , assert_eq ! ( ctlz_nonzero( 100i16 ) , 9 ) ] ;
73
+ [ assert_eq ! ( ctlz_nonzero( 100u32 ) , 25 ) , assert_eq ! ( ctlz_nonzero( 100i32 ) , 25 ) ] ;
74
+ [ assert_eq ! ( ctlz_nonzero( 100u64 ) , 57 ) , assert_eq ! ( ctlz_nonzero( 100i64 ) , 57 ) ] ;
75
+
76
+ [ assert_eq ! ( cttz( -1i8 as u8 ) , 0 ) , assert_eq ! ( cttz( -1i8 ) , 0 ) ] ;
77
+ [ assert_eq ! ( cttz( -1i16 as u16 ) , 0 ) , assert_eq ! ( cttz( -1i16 ) , 0 ) ] ;
78
+ [ assert_eq ! ( cttz( -1i32 as u32 ) , 0 ) , assert_eq ! ( cttz( -1i32 ) , 0 ) ] ;
79
+ [ assert_eq ! ( cttz( -1i64 as u64 ) , 0 ) , assert_eq ! ( cttz( -1i64 ) , 0 ) ] ;
80
+
81
+ [ assert_eq ! ( cttz( 0u8 ) , 8 ) , assert_eq ! ( cttz( 0i8 ) , 8 ) ] ;
82
+ [ assert_eq ! ( cttz( 0u16 ) , 16 ) , assert_eq ! ( cttz( 0i16 ) , 16 ) ] ;
83
+ [ assert_eq ! ( cttz( 0u32 ) , 32 ) , assert_eq ! ( cttz( 0i32 ) , 32 ) ] ;
84
+ [ assert_eq ! ( cttz( 0u64 ) , 64 ) , assert_eq ! ( cttz( 0i64 ) , 64 ) ] ;
85
+
86
+ [ assert_eq ! ( cttz( 1u8 ) , 0 ) , assert_eq ! ( cttz( 1i8 ) , 0 ) ] ;
87
+ [ assert_eq ! ( cttz( 1u16 ) , 0 ) , assert_eq ! ( cttz( 1i16 ) , 0 ) ] ;
88
+ [ assert_eq ! ( cttz( 1u32 ) , 0 ) , assert_eq ! ( cttz( 1i32 ) , 0 ) ] ;
89
+ [ assert_eq ! ( cttz( 1u64 ) , 0 ) , assert_eq ! ( cttz( 1i64 ) , 0 ) ] ;
90
+
91
+ [ assert_eq ! ( cttz( 10u8 ) , 1 ) , assert_eq ! ( cttz( 10i8 ) , 1 ) ] ;
92
+ [ assert_eq ! ( cttz( 10u16 ) , 1 ) , assert_eq ! ( cttz( 10i16 ) , 1 ) ] ;
93
+ [ assert_eq ! ( cttz( 10u32 ) , 1 ) , assert_eq ! ( cttz( 10i32 ) , 1 ) ] ;
94
+ [ assert_eq ! ( cttz( 10u64 ) , 1 ) , assert_eq ! ( cttz( 10i64 ) , 1 ) ] ;
95
+
96
+ [ assert_eq ! ( cttz( 100u8 ) , 2 ) , assert_eq ! ( cttz( 100i8 ) , 2 ) ] ;
97
+ [ assert_eq ! ( cttz( 100u16 ) , 2 ) , assert_eq ! ( cttz( 100i16 ) , 2 ) ] ;
98
+ [ assert_eq ! ( cttz( 100u32 ) , 2 ) , assert_eq ! ( cttz( 100i32 ) , 2 ) ] ;
99
+ [ assert_eq ! ( cttz( 100u64 ) , 2 ) , assert_eq ! ( cttz( 100i64 ) , 2 ) ] ;
100
+
101
+ [ assert_eq ! ( cttz_nonzero( -1i8 as u8 ) , 0 ) , assert_eq ! ( cttz_nonzero( -1i8 ) , 0 ) ] ;
102
+ [ assert_eq ! ( cttz_nonzero( -1i16 as u16 ) , 0 ) , assert_eq ! ( cttz_nonzero( -1i16 ) , 0 ) ] ;
103
+ [ assert_eq ! ( cttz_nonzero( -1i32 as u32 ) , 0 ) , assert_eq ! ( cttz_nonzero( -1i32 ) , 0 ) ] ;
104
+ [ assert_eq ! ( cttz_nonzero( -1i64 as u64 ) , 0 ) , assert_eq ! ( cttz_nonzero( -1i64 ) , 0 ) ] ;
105
+
106
+ [ assert_eq ! ( cttz_nonzero( 1u8 ) , 0 ) , assert_eq ! ( cttz_nonzero( 1i8 ) , 0 ) ] ;
107
+ [ assert_eq ! ( cttz_nonzero( 1u16 ) , 0 ) , assert_eq ! ( cttz_nonzero( 1i16 ) , 0 ) ] ;
108
+ [ assert_eq ! ( cttz_nonzero( 1u32 ) , 0 ) , assert_eq ! ( cttz_nonzero( 1i32 ) , 0 ) ] ;
109
+ [ assert_eq ! ( cttz_nonzero( 1u64 ) , 0 ) , assert_eq ! ( cttz_nonzero( 1i64 ) , 0 ) ] ;
110
+
111
+ [ assert_eq ! ( cttz_nonzero( 10u8 ) , 1 ) , assert_eq ! ( cttz_nonzero( 10i8 ) , 1 ) ] ;
112
+ [ assert_eq ! ( cttz_nonzero( 10u16 ) , 1 ) , assert_eq ! ( cttz_nonzero( 10i16 ) , 1 ) ] ;
113
+ [ assert_eq ! ( cttz_nonzero( 10u32 ) , 1 ) , assert_eq ! ( cttz_nonzero( 10i32 ) , 1 ) ] ;
114
+ [ assert_eq ! ( cttz_nonzero( 10u64 ) , 1 ) , assert_eq ! ( cttz_nonzero( 10i64 ) , 1 ) ] ;
115
+
116
+ [ assert_eq ! ( cttz_nonzero( 100u8 ) , 2 ) , assert_eq ! ( cttz_nonzero( 100i8 ) , 2 ) ] ;
117
+ [ assert_eq ! ( cttz_nonzero( 100u16 ) , 2 ) , assert_eq ! ( cttz_nonzero( 100i16 ) , 2 ) ] ;
118
+ [ assert_eq ! ( cttz_nonzero( 100u32 ) , 2 ) , assert_eq ! ( cttz_nonzero( 100i32 ) , 2 ) ] ;
119
+ [ assert_eq ! ( cttz_nonzero( 100u64 ) , 2 ) , assert_eq ! ( cttz_nonzero( 100i64 ) , 2 ) ] ;
204
120
205
121
assert_eq ! ( bswap( 0x0Au8 ) , 0x0A ) ; // no-op
206
122
assert_eq ! ( bswap( 0x0Ai8 ) , 0x0A ) ; // no-op
0 commit comments