1 Testing with TEST_LENGTH = 64
3 test _bit_byte, _bit_mask, and bitstr_size
4 i _bit_byte(i) _bit_mask(i) bitstr_size(i)
70 test bit_alloc, clearbits, bit_ffc, bit_ffs
71 be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
72 is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
75 be: 1 0 1001001001001001001001001001001001001001001001001001001001001001
76 is: 1 0 1001001001001001001001001001001001001001001001001001001001001001
79 be: 0 3 0001000001000001000001000001000001000001000001000001000001000001
80 is: 0 3 0001000001000001000001000001000001000001000001000001000001000001
82 test bit_test using previous bitstring
150 be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
151 is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
153 test bit_nset and bit_nclear
154 be: 0 1 0111111111111111111111111111111111111111111111111111111111111110
155 is: 0 1 0111111111111111111111111111111111111111111111111111111111111110
156 be: 0 1 0100000000000000000000000000000000000000000000000000000000000010
157 is: 0 1 0100000000000000000000000000000000000000000000000000000000000010
158 be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
159 is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
160 be: 63 0 1111111111111111111111111111111111111111111111111111111111111110
161 is: 63 0 1111111111111111111111111111111111111111111111111111111111111110
162 be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
163 is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000
165 first 1 bit should move right 1 position each line
166 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111
167 1 0 1 0111111111111111111111111111111111111111111111111111111111111111
168 2 0 2 0011111111111111111111111111111111111111111111111111111111111111
169 3 0 3 0001111111111111111111111111111111111111111111111111111111111111
170 4 0 4 0000111111111111111111111111111111111111111111111111111111111111
171 5 0 5 0000011111111111111111111111111111111111111111111111111111111111
172 6 0 6 0000001111111111111111111111111111111111111111111111111111111111
173 7 0 7 0000000111111111111111111111111111111111111111111111111111111111
174 8 0 8 0000000011111111111111111111111111111111111111111111111111111111
175 9 0 9 0000000001111111111111111111111111111111111111111111111111111111
176 10 0 10 0000000000111111111111111111111111111111111111111111111111111111
177 11 0 11 0000000000011111111111111111111111111111111111111111111111111111
178 12 0 12 0000000000001111111111111111111111111111111111111111111111111111
179 13 0 13 0000000000000111111111111111111111111111111111111111111111111111
180 14 0 14 0000000000000011111111111111111111111111111111111111111111111111
181 15 0 15 0000000000000001111111111111111111111111111111111111111111111111
182 16 0 16 0000000000000000111111111111111111111111111111111111111111111111
183 17 0 17 0000000000000000011111111111111111111111111111111111111111111111
184 18 0 18 0000000000000000001111111111111111111111111111111111111111111111
185 19 0 19 0000000000000000000111111111111111111111111111111111111111111111
186 20 0 20 0000000000000000000011111111111111111111111111111111111111111111
187 21 0 21 0000000000000000000001111111111111111111111111111111111111111111
188 22 0 22 0000000000000000000000111111111111111111111111111111111111111111
189 23 0 23 0000000000000000000000011111111111111111111111111111111111111111
190 24 0 24 0000000000000000000000001111111111111111111111111111111111111111
191 25 0 25 0000000000000000000000000111111111111111111111111111111111111111
192 26 0 26 0000000000000000000000000011111111111111111111111111111111111111
193 27 0 27 0000000000000000000000000001111111111111111111111111111111111111
194 28 0 28 0000000000000000000000000000111111111111111111111111111111111111
195 29 0 29 0000000000000000000000000000011111111111111111111111111111111111
196 30 0 30 0000000000000000000000000000001111111111111111111111111111111111
197 31 0 31 0000000000000000000000000000000111111111111111111111111111111111
198 32 0 32 0000000000000000000000000000000011111111111111111111111111111111
199 33 0 33 0000000000000000000000000000000001111111111111111111111111111111
200 34 0 34 0000000000000000000000000000000000111111111111111111111111111111
201 35 0 35 0000000000000000000000000000000000011111111111111111111111111111
202 36 0 36 0000000000000000000000000000000000001111111111111111111111111111
203 37 0 37 0000000000000000000000000000000000000111111111111111111111111111
204 38 0 38 0000000000000000000000000000000000000011111111111111111111111111
205 39 0 39 0000000000000000000000000000000000000001111111111111111111111111
206 40 0 40 0000000000000000000000000000000000000000111111111111111111111111
207 41 0 41 0000000000000000000000000000000000000000011111111111111111111111
208 42 0 42 0000000000000000000000000000000000000000001111111111111111111111
209 43 0 43 0000000000000000000000000000000000000000000111111111111111111111
210 44 0 44 0000000000000000000000000000000000000000000011111111111111111111
211 45 0 45 0000000000000000000000000000000000000000000001111111111111111111
212 46 0 46 0000000000000000000000000000000000000000000000111111111111111111
213 47 0 47 0000000000000000000000000000000000000000000000011111111111111111
214 48 0 48 0000000000000000000000000000000000000000000000001111111111111111
215 49 0 49 0000000000000000000000000000000000000000000000000111111111111111
216 50 0 50 0000000000000000000000000000000000000000000000000011111111111111
217 51 0 51 0000000000000000000000000000000000000000000000000001111111111111
218 52 0 52 0000000000000000000000000000000000000000000000000000111111111111
219 53 0 53 0000000000000000000000000000000000000000000000000000011111111111
220 54 0 54 0000000000000000000000000000000000000000000000000000001111111111
221 55 0 55 0000000000000000000000000000000000000000000000000000000111111111
222 56 0 56 0000000000000000000000000000000000000000000000000000000011111111
223 57 0 57 0000000000000000000000000000000000000000000000000000000001111111
224 58 0 58 0000000000000000000000000000000000000000000000000000000000111111
225 59 0 59 0000000000000000000000000000000000000000000000000000000000011111
226 60 0 60 0000000000000000000000000000000000000000000000000000000000001111
227 61 0 61 0000000000000000000000000000000000000000000000000000000000000111
228 62 0 62 0000000000000000000000000000000000000000000000000000000000000011
229 63 0 63 0000000000000000000000000000000000000000000000000000000000000001
231 first 0 bit should move right 1 position each line
232 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000
233 1 1 0 1000000000000000000000000000000000000000000000000000000000000000
234 2 2 0 1100000000000000000000000000000000000000000000000000000000000000
235 3 3 0 1110000000000000000000000000000000000000000000000000000000000000
236 4 4 0 1111000000000000000000000000000000000000000000000000000000000000
237 5 5 0 1111100000000000000000000000000000000000000000000000000000000000
238 6 6 0 1111110000000000000000000000000000000000000000000000000000000000
239 7 7 0 1111111000000000000000000000000000000000000000000000000000000000
240 8 8 0 1111111100000000000000000000000000000000000000000000000000000000
241 9 9 0 1111111110000000000000000000000000000000000000000000000000000000
242 10 10 0 1111111111000000000000000000000000000000000000000000000000000000
243 11 11 0 1111111111100000000000000000000000000000000000000000000000000000
244 12 12 0 1111111111110000000000000000000000000000000000000000000000000000
245 13 13 0 1111111111111000000000000000000000000000000000000000000000000000
246 14 14 0 1111111111111100000000000000000000000000000000000000000000000000
247 15 15 0 1111111111111110000000000000000000000000000000000000000000000000
248 16 16 0 1111111111111111000000000000000000000000000000000000000000000000
249 17 17 0 1111111111111111100000000000000000000000000000000000000000000000
250 18 18 0 1111111111111111110000000000000000000000000000000000000000000000
251 19 19 0 1111111111111111111000000000000000000000000000000000000000000000
252 20 20 0 1111111111111111111100000000000000000000000000000000000000000000
253 21 21 0 1111111111111111111110000000000000000000000000000000000000000000
254 22 22 0 1111111111111111111111000000000000000000000000000000000000000000
255 23 23 0 1111111111111111111111100000000000000000000000000000000000000000
256 24 24 0 1111111111111111111111110000000000000000000000000000000000000000
257 25 25 0 1111111111111111111111111000000000000000000000000000000000000000
258 26 26 0 1111111111111111111111111100000000000000000000000000000000000000
259 27 27 0 1111111111111111111111111110000000000000000000000000000000000000
260 28 28 0 1111111111111111111111111111000000000000000000000000000000000000
261 29 29 0 1111111111111111111111111111100000000000000000000000000000000000
262 30 30 0 1111111111111111111111111111110000000000000000000000000000000000
263 31 31 0 1111111111111111111111111111111000000000000000000000000000000000
264 32 32 0 1111111111111111111111111111111100000000000000000000000000000000
265 33 33 0 1111111111111111111111111111111110000000000000000000000000000000
266 34 34 0 1111111111111111111111111111111111000000000000000000000000000000
267 35 35 0 1111111111111111111111111111111111100000000000000000000000000000
268 36 36 0 1111111111111111111111111111111111110000000000000000000000000000
269 37 37 0 1111111111111111111111111111111111111000000000000000000000000000
270 38 38 0 1111111111111111111111111111111111111100000000000000000000000000
271 39 39 0 1111111111111111111111111111111111111110000000000000000000000000
272 40 40 0 1111111111111111111111111111111111111111000000000000000000000000
273 41 41 0 1111111111111111111111111111111111111111100000000000000000000000
274 42 42 0 1111111111111111111111111111111111111111110000000000000000000000
275 43 43 0 1111111111111111111111111111111111111111111000000000000000000000
276 44 44 0 1111111111111111111111111111111111111111111100000000000000000000
277 45 45 0 1111111111111111111111111111111111111111111110000000000000000000
278 46 46 0 1111111111111111111111111111111111111111111111000000000000000000
279 47 47 0 1111111111111111111111111111111111111111111111100000000000000000
280 48 48 0 1111111111111111111111111111111111111111111111110000000000000000
281 49 49 0 1111111111111111111111111111111111111111111111111000000000000000
282 50 50 0 1111111111111111111111111111111111111111111111111100000000000000
283 51 51 0 1111111111111111111111111111111111111111111111111110000000000000
284 52 52 0 1111111111111111111111111111111111111111111111111111000000000000
285 53 53 0 1111111111111111111111111111111111111111111111111111100000000000
286 54 54 0 1111111111111111111111111111111111111111111111111111110000000000
287 55 55 0 1111111111111111111111111111111111111111111111111111111000000000
288 56 56 0 1111111111111111111111111111111111111111111111111111111100000000
289 57 57 0 1111111111111111111111111111111111111111111111111111111110000000
290 58 58 0 1111111111111111111111111111111111111111111111111111111111000000
291 59 59 0 1111111111111111111111111111111111111111111111111111111111100000
292 60 60 0 1111111111111111111111111111111111111111111111111111111111110000
293 61 61 0 1111111111111111111111111111111111111111111111111111111111111000
294 62 62 0 1111111111111111111111111111111111111111111111111111111111111100
295 63 63 0 1111111111111111111111111111111111111111111111111111111111111110
297 first 0 bit should move left 1 position each line
298 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111
299 1 63 0 1111111111111111111111111111111111111111111111111111111111111110
300 2 62 0 1111111111111111111111111111111111111111111111111111111111111100
301 3 61 0 1111111111111111111111111111111111111111111111111111111111111000
302 4 60 0 1111111111111111111111111111111111111111111111111111111111110000
303 5 59 0 1111111111111111111111111111111111111111111111111111111111100000
304 6 58 0 1111111111111111111111111111111111111111111111111111111111000000
305 7 57 0 1111111111111111111111111111111111111111111111111111111110000000
306 8 56 0 1111111111111111111111111111111111111111111111111111111100000000
307 9 55 0 1111111111111111111111111111111111111111111111111111111000000000
308 10 54 0 1111111111111111111111111111111111111111111111111111110000000000
309 11 53 0 1111111111111111111111111111111111111111111111111111100000000000
310 12 52 0 1111111111111111111111111111111111111111111111111111000000000000
311 13 51 0 1111111111111111111111111111111111111111111111111110000000000000
312 14 50 0 1111111111111111111111111111111111111111111111111100000000000000
313 15 49 0 1111111111111111111111111111111111111111111111111000000000000000
314 16 48 0 1111111111111111111111111111111111111111111111110000000000000000
315 17 47 0 1111111111111111111111111111111111111111111111100000000000000000
316 18 46 0 1111111111111111111111111111111111111111111111000000000000000000
317 19 45 0 1111111111111111111111111111111111111111111110000000000000000000
318 20 44 0 1111111111111111111111111111111111111111111100000000000000000000
319 21 43 0 1111111111111111111111111111111111111111111000000000000000000000
320 22 42 0 1111111111111111111111111111111111111111110000000000000000000000
321 23 41 0 1111111111111111111111111111111111111111100000000000000000000000
322 24 40 0 1111111111111111111111111111111111111111000000000000000000000000
323 25 39 0 1111111111111111111111111111111111111110000000000000000000000000
324 26 38 0 1111111111111111111111111111111111111100000000000000000000000000
325 27 37 0 1111111111111111111111111111111111111000000000000000000000000000
326 28 36 0 1111111111111111111111111111111111110000000000000000000000000000
327 29 35 0 1111111111111111111111111111111111100000000000000000000000000000
328 30 34 0 1111111111111111111111111111111111000000000000000000000000000000
329 31 33 0 1111111111111111111111111111111110000000000000000000000000000000
330 32 32 0 1111111111111111111111111111111100000000000000000000000000000000
331 33 31 0 1111111111111111111111111111111000000000000000000000000000000000
332 34 30 0 1111111111111111111111111111110000000000000000000000000000000000
333 35 29 0 1111111111111111111111111111100000000000000000000000000000000000
334 36 28 0 1111111111111111111111111111000000000000000000000000000000000000
335 37 27 0 1111111111111111111111111110000000000000000000000000000000000000
336 38 26 0 1111111111111111111111111100000000000000000000000000000000000000
337 39 25 0 1111111111111111111111111000000000000000000000000000000000000000
338 40 24 0 1111111111111111111111110000000000000000000000000000000000000000
339 41 23 0 1111111111111111111111100000000000000000000000000000000000000000
340 42 22 0 1111111111111111111111000000000000000000000000000000000000000000
341 43 21 0 1111111111111111111110000000000000000000000000000000000000000000
342 44 20 0 1111111111111111111100000000000000000000000000000000000000000000
343 45 19 0 1111111111111111111000000000000000000000000000000000000000000000
344 46 18 0 1111111111111111110000000000000000000000000000000000000000000000
345 47 17 0 1111111111111111100000000000000000000000000000000000000000000000
346 48 16 0 1111111111111111000000000000000000000000000000000000000000000000
347 49 15 0 1111111111111110000000000000000000000000000000000000000000000000
348 50 14 0 1111111111111100000000000000000000000000000000000000000000000000
349 51 13 0 1111111111111000000000000000000000000000000000000000000000000000
350 52 12 0 1111111111110000000000000000000000000000000000000000000000000000
351 53 11 0 1111111111100000000000000000000000000000000000000000000000000000
352 54 10 0 1111111111000000000000000000000000000000000000000000000000000000
353 55 9 0 1111111110000000000000000000000000000000000000000000000000000000
354 56 8 0 1111111100000000000000000000000000000000000000000000000000000000
355 57 7 0 1111111000000000000000000000000000000000000000000000000000000000
356 58 6 0 1111110000000000000000000000000000000000000000000000000000000000
357 59 5 0 1111100000000000000000000000000000000000000000000000000000000000
358 60 4 0 1111000000000000000000000000000000000000000000000000000000000000
359 61 3 0 1110000000000000000000000000000000000000000000000000000000000000
360 62 2 0 1100000000000000000000000000000000000000000000000000000000000000
361 63 1 0 1000000000000000000000000000000000000000000000000000000000000000
363 first 1 bit should move left 1 position each line
364 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000
365 1 0 63 0000000000000000000000000000000000000000000000000000000000000001
366 2 0 62 0000000000000000000000000000000000000000000000000000000000000011
367 3 0 61 0000000000000000000000000000000000000000000000000000000000000111
368 4 0 60 0000000000000000000000000000000000000000000000000000000000001111
369 5 0 59 0000000000000000000000000000000000000000000000000000000000011111
370 6 0 58 0000000000000000000000000000000000000000000000000000000000111111
371 7 0 57 0000000000000000000000000000000000000000000000000000000001111111
372 8 0 56 0000000000000000000000000000000000000000000000000000000011111111
373 9 0 55 0000000000000000000000000000000000000000000000000000000111111111
374 10 0 54 0000000000000000000000000000000000000000000000000000001111111111
375 11 0 53 0000000000000000000000000000000000000000000000000000011111111111
376 12 0 52 0000000000000000000000000000000000000000000000000000111111111111
377 13 0 51 0000000000000000000000000000000000000000000000000001111111111111
378 14 0 50 0000000000000000000000000000000000000000000000000011111111111111
379 15 0 49 0000000000000000000000000000000000000000000000000111111111111111
380 16 0 48 0000000000000000000000000000000000000000000000001111111111111111
381 17 0 47 0000000000000000000000000000000000000000000000011111111111111111
382 18 0 46 0000000000000000000000000000000000000000000000111111111111111111
383 19 0 45 0000000000000000000000000000000000000000000001111111111111111111
384 20 0 44 0000000000000000000000000000000000000000000011111111111111111111
385 21 0 43 0000000000000000000000000000000000000000000111111111111111111111
386 22 0 42 0000000000000000000000000000000000000000001111111111111111111111
387 23 0 41 0000000000000000000000000000000000000000011111111111111111111111
388 24 0 40 0000000000000000000000000000000000000000111111111111111111111111
389 25 0 39 0000000000000000000000000000000000000001111111111111111111111111
390 26 0 38 0000000000000000000000000000000000000011111111111111111111111111
391 27 0 37 0000000000000000000000000000000000000111111111111111111111111111
392 28 0 36 0000000000000000000000000000000000001111111111111111111111111111
393 29 0 35 0000000000000000000000000000000000011111111111111111111111111111
394 30 0 34 0000000000000000000000000000000000111111111111111111111111111111
395 31 0 33 0000000000000000000000000000000001111111111111111111111111111111
396 32 0 32 0000000000000000000000000000000011111111111111111111111111111111
397 33 0 31 0000000000000000000000000000000111111111111111111111111111111111
398 34 0 30 0000000000000000000000000000001111111111111111111111111111111111
399 35 0 29 0000000000000000000000000000011111111111111111111111111111111111
400 36 0 28 0000000000000000000000000000111111111111111111111111111111111111
401 37 0 27 0000000000000000000000000001111111111111111111111111111111111111
402 38 0 26 0000000000000000000000000011111111111111111111111111111111111111
403 39 0 25 0000000000000000000000000111111111111111111111111111111111111111
404 40 0 24 0000000000000000000000001111111111111111111111111111111111111111
405 41 0 23 0000000000000000000000011111111111111111111111111111111111111111
406 42 0 22 0000000000000000000000111111111111111111111111111111111111111111
407 43 0 21 0000000000000000000001111111111111111111111111111111111111111111
408 44 0 20 0000000000000000000011111111111111111111111111111111111111111111
409 45 0 19 0000000000000000000111111111111111111111111111111111111111111111
410 46 0 18 0000000000000000001111111111111111111111111111111111111111111111
411 47 0 17 0000000000000000011111111111111111111111111111111111111111111111
412 48 0 16 0000000000000000111111111111111111111111111111111111111111111111
413 49 0 15 0000000000000001111111111111111111111111111111111111111111111111
414 50 0 14 0000000000000011111111111111111111111111111111111111111111111111
415 51 0 13 0000000000000111111111111111111111111111111111111111111111111111
416 52 0 12 0000000000001111111111111111111111111111111111111111111111111111
417 53 0 11 0000000000011111111111111111111111111111111111111111111111111111
418 54 0 10 0000000000111111111111111111111111111111111111111111111111111111
419 55 0 9 0000000001111111111111111111111111111111111111111111111111111111
420 56 0 8 0000000011111111111111111111111111111111111111111111111111111111
421 57 0 7 0000000111111111111111111111111111111111111111111111111111111111
422 58 0 6 0000001111111111111111111111111111111111111111111111111111111111
423 59 0 5 0000011111111111111111111111111111111111111111111111111111111111
424 60 0 4 0000111111111111111111111111111111111111111111111111111111111111
425 61 0 3 0001111111111111111111111111111111111111111111111111111111111111
426 62 0 2 0011111111111111111111111111111111111111111111111111111111111111
427 63 0 1 0111111111111111111111111111111111111111111111111111111111111111
429 0 bit should move right 1 position each line
430 0 0 1 0111111111111111111111111111111111111111111111111111111111111111
431 1 1 0 1011111111111111111111111111111111111111111111111111111111111111
432 2 2 0 1101111111111111111111111111111111111111111111111111111111111111
433 3 3 0 1110111111111111111111111111111111111111111111111111111111111111
434 4 4 0 1111011111111111111111111111111111111111111111111111111111111111
435 5 5 0 1111101111111111111111111111111111111111111111111111111111111111
436 6 6 0 1111110111111111111111111111111111111111111111111111111111111111
437 7 7 0 1111111011111111111111111111111111111111111111111111111111111111
438 8 8 0 1111111101111111111111111111111111111111111111111111111111111111
439 9 9 0 1111111110111111111111111111111111111111111111111111111111111111
440 10 10 0 1111111111011111111111111111111111111111111111111111111111111111
441 11 11 0 1111111111101111111111111111111111111111111111111111111111111111
442 12 12 0 1111111111110111111111111111111111111111111111111111111111111111
443 13 13 0 1111111111111011111111111111111111111111111111111111111111111111
444 14 14 0 1111111111111101111111111111111111111111111111111111111111111111
445 15 15 0 1111111111111110111111111111111111111111111111111111111111111111
446 16 16 0 1111111111111111011111111111111111111111111111111111111111111111
447 17 17 0 1111111111111111101111111111111111111111111111111111111111111111
448 18 18 0 1111111111111111110111111111111111111111111111111111111111111111
449 19 19 0 1111111111111111111011111111111111111111111111111111111111111111
450 20 20 0 1111111111111111111101111111111111111111111111111111111111111111
451 21 21 0 1111111111111111111110111111111111111111111111111111111111111111
452 22 22 0 1111111111111111111111011111111111111111111111111111111111111111
453 23 23 0 1111111111111111111111101111111111111111111111111111111111111111
454 24 24 0 1111111111111111111111110111111111111111111111111111111111111111
455 25 25 0 1111111111111111111111111011111111111111111111111111111111111111
456 26 26 0 1111111111111111111111111101111111111111111111111111111111111111
457 27 27 0 1111111111111111111111111110111111111111111111111111111111111111
458 28 28 0 1111111111111111111111111111011111111111111111111111111111111111
459 29 29 0 1111111111111111111111111111101111111111111111111111111111111111
460 30 30 0 1111111111111111111111111111110111111111111111111111111111111111
461 31 31 0 1111111111111111111111111111111011111111111111111111111111111111
462 32 32 0 1111111111111111111111111111111101111111111111111111111111111111
463 33 33 0 1111111111111111111111111111111110111111111111111111111111111111
464 34 34 0 1111111111111111111111111111111111011111111111111111111111111111
465 35 35 0 1111111111111111111111111111111111101111111111111111111111111111
466 36 36 0 1111111111111111111111111111111111110111111111111111111111111111
467 37 37 0 1111111111111111111111111111111111111011111111111111111111111111
468 38 38 0 1111111111111111111111111111111111111101111111111111111111111111
469 39 39 0 1111111111111111111111111111111111111110111111111111111111111111
470 40 40 0 1111111111111111111111111111111111111111011111111111111111111111
471 41 41 0 1111111111111111111111111111111111111111101111111111111111111111
472 42 42 0 1111111111111111111111111111111111111111110111111111111111111111
473 43 43 0 1111111111111111111111111111111111111111111011111111111111111111
474 44 44 0 1111111111111111111111111111111111111111111101111111111111111111
475 45 45 0 1111111111111111111111111111111111111111111110111111111111111111
476 46 46 0 1111111111111111111111111111111111111111111111011111111111111111
477 47 47 0 1111111111111111111111111111111111111111111111101111111111111111
478 48 48 0 1111111111111111111111111111111111111111111111110111111111111111
479 49 49 0 1111111111111111111111111111111111111111111111111011111111111111
480 50 50 0 1111111111111111111111111111111111111111111111111101111111111111
481 51 51 0 1111111111111111111111111111111111111111111111111110111111111111
482 52 52 0 1111111111111111111111111111111111111111111111111111011111111111
483 53 53 0 1111111111111111111111111111111111111111111111111111101111111111
484 54 54 0 1111111111111111111111111111111111111111111111111111110111111111
485 55 55 0 1111111111111111111111111111111111111111111111111111111011111111
486 56 56 0 1111111111111111111111111111111111111111111111111111111101111111
487 57 57 0 1111111111111111111111111111111111111111111111111111111110111111
488 58 58 0 1111111111111111111111111111111111111111111111111111111111011111
489 59 59 0 1111111111111111111111111111111111111111111111111111111111101111
490 60 60 0 1111111111111111111111111111111111111111111111111111111111110111
491 61 61 0 1111111111111111111111111111111111111111111111111111111111111011
492 62 62 0 1111111111111111111111111111111111111111111111111111111111111101
493 63 63 0 1111111111111111111111111111111111111111111111111111111111111110
495 1 bit should move right 1 position each line
496 0 1 0 1000000000000000000000000000000000000000000000000000000000000000
497 1 0 1 0100000000000000000000000000000000000000000000000000000000000000
498 2 0 2 0010000000000000000000000000000000000000000000000000000000000000
499 3 0 3 0001000000000000000000000000000000000000000000000000000000000000
500 4 0 4 0000100000000000000000000000000000000000000000000000000000000000
501 5 0 5 0000010000000000000000000000000000000000000000000000000000000000
502 6 0 6 0000001000000000000000000000000000000000000000000000000000000000
503 7 0 7 0000000100000000000000000000000000000000000000000000000000000000
504 8 0 8 0000000010000000000000000000000000000000000000000000000000000000
505 9 0 9 0000000001000000000000000000000000000000000000000000000000000000
506 10 0 10 0000000000100000000000000000000000000000000000000000000000000000
507 11 0 11 0000000000010000000000000000000000000000000000000000000000000000
508 12 0 12 0000000000001000000000000000000000000000000000000000000000000000
509 13 0 13 0000000000000100000000000000000000000000000000000000000000000000
510 14 0 14 0000000000000010000000000000000000000000000000000000000000000000
511 15 0 15 0000000000000001000000000000000000000000000000000000000000000000
512 16 0 16 0000000000000000100000000000000000000000000000000000000000000000
513 17 0 17 0000000000000000010000000000000000000000000000000000000000000000
514 18 0 18 0000000000000000001000000000000000000000000000000000000000000000
515 19 0 19 0000000000000000000100000000000000000000000000000000000000000000
516 20 0 20 0000000000000000000010000000000000000000000000000000000000000000
517 21 0 21 0000000000000000000001000000000000000000000000000000000000000000
518 22 0 22 0000000000000000000000100000000000000000000000000000000000000000
519 23 0 23 0000000000000000000000010000000000000000000000000000000000000000
520 24 0 24 0000000000000000000000001000000000000000000000000000000000000000
521 25 0 25 0000000000000000000000000100000000000000000000000000000000000000
522 26 0 26 0000000000000000000000000010000000000000000000000000000000000000
523 27 0 27 0000000000000000000000000001000000000000000000000000000000000000
524 28 0 28 0000000000000000000000000000100000000000000000000000000000000000
525 29 0 29 0000000000000000000000000000010000000000000000000000000000000000
526 30 0 30 0000000000000000000000000000001000000000000000000000000000000000
527 31 0 31 0000000000000000000000000000000100000000000000000000000000000000
528 32 0 32 0000000000000000000000000000000010000000000000000000000000000000
529 33 0 33 0000000000000000000000000000000001000000000000000000000000000000
530 34 0 34 0000000000000000000000000000000000100000000000000000000000000000
531 35 0 35 0000000000000000000000000000000000010000000000000000000000000000
532 36 0 36 0000000000000000000000000000000000001000000000000000000000000000
533 37 0 37 0000000000000000000000000000000000000100000000000000000000000000
534 38 0 38 0000000000000000000000000000000000000010000000000000000000000000
535 39 0 39 0000000000000000000000000000000000000001000000000000000000000000
536 40 0 40 0000000000000000000000000000000000000000100000000000000000000000
537 41 0 41 0000000000000000000000000000000000000000010000000000000000000000
538 42 0 42 0000000000000000000000000000000000000000001000000000000000000000
539 43 0 43 0000000000000000000000000000000000000000000100000000000000000000
540 44 0 44 0000000000000000000000000000000000000000000010000000000000000000
541 45 0 45 0000000000000000000000000000000000000000000001000000000000000000
542 46 0 46 0000000000000000000000000000000000000000000000100000000000000000
543 47 0 47 0000000000000000000000000000000000000000000000010000000000000000
544 48 0 48 0000000000000000000000000000000000000000000000001000000000000000
545 49 0 49 0000000000000000000000000000000000000000000000000100000000000000
546 50 0 50 0000000000000000000000000000000000000000000000000010000000000000
547 51 0 51 0000000000000000000000000000000000000000000000000001000000000000
548 52 0 52 0000000000000000000000000000000000000000000000000000100000000000
549 53 0 53 0000000000000000000000000000000000000000000000000000010000000000
550 54 0 54 0000000000000000000000000000000000000000000000000000001000000000
551 55 0 55 0000000000000000000000000000000000000000000000000000000100000000
552 56 0 56 0000000000000000000000000000000000000000000000000000000010000000
553 57 0 57 0000000000000000000000000000000000000000000000000000000001000000
554 58 0 58 0000000000000000000000000000000000000000000000000000000000100000
555 59 0 59 0000000000000000000000000000000000000000000000000000000000010000
556 60 0 60 0000000000000000000000000000000000000000000000000000000000001000
557 61 0 61 0000000000000000000000000000000000000000000000000000000000000100
558 62 0 62 0000000000000000000000000000000000000000000000000000000000000010
559 63 0 63 0000000000000000000000000000000000000000000000000000000000000001