1*57718be8SEnji CooperTesting with TEST_LENGTH = 49
2*57718be8SEnji Cooper
3*57718be8SEnji Coopertest _bit_byte, _bit_mask, and bitstr_size
4*57718be8SEnji Cooper  i   _bit_byte(i)   _bit_mask(i) bitstr_size(i)
5*57718be8SEnji Cooper  0              0              1              0
6*57718be8SEnji Cooper  1              0              2              1
7*57718be8SEnji Cooper  2              0              4              1
8*57718be8SEnji Cooper  3              0              8              1
9*57718be8SEnji Cooper  4              0             16              1
10*57718be8SEnji Cooper  5              0             32              1
11*57718be8SEnji Cooper  6              0             64              1
12*57718be8SEnji Cooper  7              0            128              1
13*57718be8SEnji Cooper  8              1              1              1
14*57718be8SEnji Cooper  9              1              2              2
15*57718be8SEnji Cooper 10              1              4              2
16*57718be8SEnji Cooper 11              1              8              2
17*57718be8SEnji Cooper 12              1             16              2
18*57718be8SEnji Cooper 13              1             32              2
19*57718be8SEnji Cooper 14              1             64              2
20*57718be8SEnji Cooper 15              1            128              2
21*57718be8SEnji Cooper 16              2              1              2
22*57718be8SEnji Cooper 17              2              2              3
23*57718be8SEnji Cooper 18              2              4              3
24*57718be8SEnji Cooper 19              2              8              3
25*57718be8SEnji Cooper 20              2             16              3
26*57718be8SEnji Cooper 21              2             32              3
27*57718be8SEnji Cooper 22              2             64              3
28*57718be8SEnji Cooper 23              2            128              3
29*57718be8SEnji Cooper 24              3              1              3
30*57718be8SEnji Cooper 25              3              2              4
31*57718be8SEnji Cooper 26              3              4              4
32*57718be8SEnji Cooper 27              3              8              4
33*57718be8SEnji Cooper 28              3             16              4
34*57718be8SEnji Cooper 29              3             32              4
35*57718be8SEnji Cooper 30              3             64              4
36*57718be8SEnji Cooper 31              3            128              4
37*57718be8SEnji Cooper 32              4              1              4
38*57718be8SEnji Cooper 33              4              2              5
39*57718be8SEnji Cooper 34              4              4              5
40*57718be8SEnji Cooper 35              4              8              5
41*57718be8SEnji Cooper 36              4             16              5
42*57718be8SEnji Cooper 37              4             32              5
43*57718be8SEnji Cooper 38              4             64              5
44*57718be8SEnji Cooper 39              4            128              5
45*57718be8SEnji Cooper 40              5              1              5
46*57718be8SEnji Cooper 41              5              2              6
47*57718be8SEnji Cooper 42              5              4              6
48*57718be8SEnji Cooper 43              5              8              6
49*57718be8SEnji Cooper 44              5             16              6
50*57718be8SEnji Cooper 45              5             32              6
51*57718be8SEnji Cooper 46              5             64              6
52*57718be8SEnji Cooper 47              5            128              6
53*57718be8SEnji Cooper 48              6              1              6
54*57718be8SEnji Cooper
55*57718be8SEnji Coopertest bit_alloc, clearbits, bit_ffc, bit_ffs
56*57718be8SEnji Cooperbe:   0  -1 0000000000000000000000000000000000000000000000000
57*57718be8SEnji Cooperis:   0  -1 0000000000000000000000000000000000000000000000000
58*57718be8SEnji Cooper
59*57718be8SEnji Coopertest bit_set
60*57718be8SEnji Cooperbe:   1   0 1001001001001001001001001001001001001001001001001
61*57718be8SEnji Cooperis:   1   0 1001001001001001001001001001001001001001001001001
62*57718be8SEnji Cooper
63*57718be8SEnji Coopertest bit_clear
64*57718be8SEnji Cooperbe:   0   3 0001000001000001000001000001000001000001000001000
65*57718be8SEnji Cooperis:   0   3 0001000001000001000001000001000001000001000001000
66*57718be8SEnji Cooper
67*57718be8SEnji Coopertest bit_test using previous bitstring
68*57718be8SEnji Cooper  i    bit_test(i)
69*57718be8SEnji Cooper  0              0
70*57718be8SEnji Cooper  1              0
71*57718be8SEnji Cooper  2              0
72*57718be8SEnji Cooper  3              8
73*57718be8SEnji Cooper  4              0
74*57718be8SEnji Cooper  5              0
75*57718be8SEnji Cooper  6              0
76*57718be8SEnji Cooper  7              0
77*57718be8SEnji Cooper  8              0
78*57718be8SEnji Cooper  9              2
79*57718be8SEnji Cooper 10              0
80*57718be8SEnji Cooper 11              0
81*57718be8SEnji Cooper 12              0
82*57718be8SEnji Cooper 13              0
83*57718be8SEnji Cooper 14              0
84*57718be8SEnji Cooper 15            128
85*57718be8SEnji Cooper 16              0
86*57718be8SEnji Cooper 17              0
87*57718be8SEnji Cooper 18              0
88*57718be8SEnji Cooper 19              0
89*57718be8SEnji Cooper 20              0
90*57718be8SEnji Cooper 21             32
91*57718be8SEnji Cooper 22              0
92*57718be8SEnji Cooper 23              0
93*57718be8SEnji Cooper 24              0
94*57718be8SEnji Cooper 25              0
95*57718be8SEnji Cooper 26              0
96*57718be8SEnji Cooper 27              8
97*57718be8SEnji Cooper 28              0
98*57718be8SEnji Cooper 29              0
99*57718be8SEnji Cooper 30              0
100*57718be8SEnji Cooper 31              0
101*57718be8SEnji Cooper 32              0
102*57718be8SEnji Cooper 33              2
103*57718be8SEnji Cooper 34              0
104*57718be8SEnji Cooper 35              0
105*57718be8SEnji Cooper 36              0
106*57718be8SEnji Cooper 37              0
107*57718be8SEnji Cooper 38              0
108*57718be8SEnji Cooper 39            128
109*57718be8SEnji Cooper 40              0
110*57718be8SEnji Cooper 41              0
111*57718be8SEnji Cooper 42              0
112*57718be8SEnji Cooper 43              0
113*57718be8SEnji Cooper 44              0
114*57718be8SEnji Cooper 45             32
115*57718be8SEnji Cooper 46              0
116*57718be8SEnji Cooper 47              0
117*57718be8SEnji Cooper 48              0
118*57718be8SEnji Cooper
119*57718be8SEnji Coopertest clearbits
120*57718be8SEnji Cooperbe:   0  -1 0000000000000000000000000000000000000000000000000
121*57718be8SEnji Cooperis:   0  -1 0000000000000000000000000000000000000000000000000
122*57718be8SEnji Cooper
123*57718be8SEnji Coopertest bit_nset and bit_nclear
124*57718be8SEnji Cooperbe:   0   1 0111111111111111111111111111111111111111111111110
125*57718be8SEnji Cooperis:   0   1 0111111111111111111111111111111111111111111111110
126*57718be8SEnji Cooperbe:   0   1 0100000000000000000000000000000000000000000000010
127*57718be8SEnji Cooperis:   0   1 0100000000000000000000000000000000000000000000010
128*57718be8SEnji Cooperbe:   0  -1 0000000000000000000000000000000000000000000000000
129*57718be8SEnji Cooperis:   0  -1 0000000000000000000000000000000000000000000000000
130*57718be8SEnji Cooperbe:  48   0 1111111111111111111111111111111111111111111111110
131*57718be8SEnji Cooperis:  48   0 1111111111111111111111111111111111111111111111110
132*57718be8SEnji Cooperbe:   0  -1 0000000000000000000000000000000000000000000000000
133*57718be8SEnji Cooperis:   0  -1 0000000000000000000000000000000000000000000000000
134*57718be8SEnji Cooper
135*57718be8SEnji Cooperfirst 1 bit should move right 1 position each line
136*57718be8SEnji Cooper  0  -1   0 1111111111111111111111111111111111111111111111111
137*57718be8SEnji Cooper  1   0   1 0111111111111111111111111111111111111111111111111
138*57718be8SEnji Cooper  2   0   2 0011111111111111111111111111111111111111111111111
139*57718be8SEnji Cooper  3   0   3 0001111111111111111111111111111111111111111111111
140*57718be8SEnji Cooper  4   0   4 0000111111111111111111111111111111111111111111111
141*57718be8SEnji Cooper  5   0   5 0000011111111111111111111111111111111111111111111
142*57718be8SEnji Cooper  6   0   6 0000001111111111111111111111111111111111111111111
143*57718be8SEnji Cooper  7   0   7 0000000111111111111111111111111111111111111111111
144*57718be8SEnji Cooper  8   0   8 0000000011111111111111111111111111111111111111111
145*57718be8SEnji Cooper  9   0   9 0000000001111111111111111111111111111111111111111
146*57718be8SEnji Cooper 10   0  10 0000000000111111111111111111111111111111111111111
147*57718be8SEnji Cooper 11   0  11 0000000000011111111111111111111111111111111111111
148*57718be8SEnji Cooper 12   0  12 0000000000001111111111111111111111111111111111111
149*57718be8SEnji Cooper 13   0  13 0000000000000111111111111111111111111111111111111
150*57718be8SEnji Cooper 14   0  14 0000000000000011111111111111111111111111111111111
151*57718be8SEnji Cooper 15   0  15 0000000000000001111111111111111111111111111111111
152*57718be8SEnji Cooper 16   0  16 0000000000000000111111111111111111111111111111111
153*57718be8SEnji Cooper 17   0  17 0000000000000000011111111111111111111111111111111
154*57718be8SEnji Cooper 18   0  18 0000000000000000001111111111111111111111111111111
155*57718be8SEnji Cooper 19   0  19 0000000000000000000111111111111111111111111111111
156*57718be8SEnji Cooper 20   0  20 0000000000000000000011111111111111111111111111111
157*57718be8SEnji Cooper 21   0  21 0000000000000000000001111111111111111111111111111
158*57718be8SEnji Cooper 22   0  22 0000000000000000000000111111111111111111111111111
159*57718be8SEnji Cooper 23   0  23 0000000000000000000000011111111111111111111111111
160*57718be8SEnji Cooper 24   0  24 0000000000000000000000001111111111111111111111111
161*57718be8SEnji Cooper 25   0  25 0000000000000000000000000111111111111111111111111
162*57718be8SEnji Cooper 26   0  26 0000000000000000000000000011111111111111111111111
163*57718be8SEnji Cooper 27   0  27 0000000000000000000000000001111111111111111111111
164*57718be8SEnji Cooper 28   0  28 0000000000000000000000000000111111111111111111111
165*57718be8SEnji Cooper 29   0  29 0000000000000000000000000000011111111111111111111
166*57718be8SEnji Cooper 30   0  30 0000000000000000000000000000001111111111111111111
167*57718be8SEnji Cooper 31   0  31 0000000000000000000000000000000111111111111111111
168*57718be8SEnji Cooper 32   0  32 0000000000000000000000000000000011111111111111111
169*57718be8SEnji Cooper 33   0  33 0000000000000000000000000000000001111111111111111
170*57718be8SEnji Cooper 34   0  34 0000000000000000000000000000000000111111111111111
171*57718be8SEnji Cooper 35   0  35 0000000000000000000000000000000000011111111111111
172*57718be8SEnji Cooper 36   0  36 0000000000000000000000000000000000001111111111111
173*57718be8SEnji Cooper 37   0  37 0000000000000000000000000000000000000111111111111
174*57718be8SEnji Cooper 38   0  38 0000000000000000000000000000000000000011111111111
175*57718be8SEnji Cooper 39   0  39 0000000000000000000000000000000000000001111111111
176*57718be8SEnji Cooper 40   0  40 0000000000000000000000000000000000000000111111111
177*57718be8SEnji Cooper 41   0  41 0000000000000000000000000000000000000000011111111
178*57718be8SEnji Cooper 42   0  42 0000000000000000000000000000000000000000001111111
179*57718be8SEnji Cooper 43   0  43 0000000000000000000000000000000000000000000111111
180*57718be8SEnji Cooper 44   0  44 0000000000000000000000000000000000000000000011111
181*57718be8SEnji Cooper 45   0  45 0000000000000000000000000000000000000000000001111
182*57718be8SEnji Cooper 46   0  46 0000000000000000000000000000000000000000000000111
183*57718be8SEnji Cooper 47   0  47 0000000000000000000000000000000000000000000000011
184*57718be8SEnji Cooper 48   0  48 0000000000000000000000000000000000000000000000001
185*57718be8SEnji Cooper
186*57718be8SEnji Cooperfirst 0 bit should move right 1 position each line
187*57718be8SEnji Cooper  0   0  -1 0000000000000000000000000000000000000000000000000
188*57718be8SEnji Cooper  1   1   0 1000000000000000000000000000000000000000000000000
189*57718be8SEnji Cooper  2   2   0 1100000000000000000000000000000000000000000000000
190*57718be8SEnji Cooper  3   3   0 1110000000000000000000000000000000000000000000000
191*57718be8SEnji Cooper  4   4   0 1111000000000000000000000000000000000000000000000
192*57718be8SEnji Cooper  5   5   0 1111100000000000000000000000000000000000000000000
193*57718be8SEnji Cooper  6   6   0 1111110000000000000000000000000000000000000000000
194*57718be8SEnji Cooper  7   7   0 1111111000000000000000000000000000000000000000000
195*57718be8SEnji Cooper  8   8   0 1111111100000000000000000000000000000000000000000
196*57718be8SEnji Cooper  9   9   0 1111111110000000000000000000000000000000000000000
197*57718be8SEnji Cooper 10  10   0 1111111111000000000000000000000000000000000000000
198*57718be8SEnji Cooper 11  11   0 1111111111100000000000000000000000000000000000000
199*57718be8SEnji Cooper 12  12   0 1111111111110000000000000000000000000000000000000
200*57718be8SEnji Cooper 13  13   0 1111111111111000000000000000000000000000000000000
201*57718be8SEnji Cooper 14  14   0 1111111111111100000000000000000000000000000000000
202*57718be8SEnji Cooper 15  15   0 1111111111111110000000000000000000000000000000000
203*57718be8SEnji Cooper 16  16   0 1111111111111111000000000000000000000000000000000
204*57718be8SEnji Cooper 17  17   0 1111111111111111100000000000000000000000000000000
205*57718be8SEnji Cooper 18  18   0 1111111111111111110000000000000000000000000000000
206*57718be8SEnji Cooper 19  19   0 1111111111111111111000000000000000000000000000000
207*57718be8SEnji Cooper 20  20   0 1111111111111111111100000000000000000000000000000
208*57718be8SEnji Cooper 21  21   0 1111111111111111111110000000000000000000000000000
209*57718be8SEnji Cooper 22  22   0 1111111111111111111111000000000000000000000000000
210*57718be8SEnji Cooper 23  23   0 1111111111111111111111100000000000000000000000000
211*57718be8SEnji Cooper 24  24   0 1111111111111111111111110000000000000000000000000
212*57718be8SEnji Cooper 25  25   0 1111111111111111111111111000000000000000000000000
213*57718be8SEnji Cooper 26  26   0 1111111111111111111111111100000000000000000000000
214*57718be8SEnji Cooper 27  27   0 1111111111111111111111111110000000000000000000000
215*57718be8SEnji Cooper 28  28   0 1111111111111111111111111111000000000000000000000
216*57718be8SEnji Cooper 29  29   0 1111111111111111111111111111100000000000000000000
217*57718be8SEnji Cooper 30  30   0 1111111111111111111111111111110000000000000000000
218*57718be8SEnji Cooper 31  31   0 1111111111111111111111111111111000000000000000000
219*57718be8SEnji Cooper 32  32   0 1111111111111111111111111111111100000000000000000
220*57718be8SEnji Cooper 33  33   0 1111111111111111111111111111111110000000000000000
221*57718be8SEnji Cooper 34  34   0 1111111111111111111111111111111111000000000000000
222*57718be8SEnji Cooper 35  35   0 1111111111111111111111111111111111100000000000000
223*57718be8SEnji Cooper 36  36   0 1111111111111111111111111111111111110000000000000
224*57718be8SEnji Cooper 37  37   0 1111111111111111111111111111111111111000000000000
225*57718be8SEnji Cooper 38  38   0 1111111111111111111111111111111111111100000000000
226*57718be8SEnji Cooper 39  39   0 1111111111111111111111111111111111111110000000000
227*57718be8SEnji Cooper 40  40   0 1111111111111111111111111111111111111111000000000
228*57718be8SEnji Cooper 41  41   0 1111111111111111111111111111111111111111100000000
229*57718be8SEnji Cooper 42  42   0 1111111111111111111111111111111111111111110000000
230*57718be8SEnji Cooper 43  43   0 1111111111111111111111111111111111111111111000000
231*57718be8SEnji Cooper 44  44   0 1111111111111111111111111111111111111111111100000
232*57718be8SEnji Cooper 45  45   0 1111111111111111111111111111111111111111111110000
233*57718be8SEnji Cooper 46  46   0 1111111111111111111111111111111111111111111111000
234*57718be8SEnji Cooper 47  47   0 1111111111111111111111111111111111111111111111100
235*57718be8SEnji Cooper 48  48   0 1111111111111111111111111111111111111111111111110
236*57718be8SEnji Cooper
237*57718be8SEnji Cooperfirst 0 bit should move left 1 position each line
238*57718be8SEnji Cooper  0  -1   0 1111111111111111111111111111111111111111111111111
239*57718be8SEnji Cooper  1  48   0 1111111111111111111111111111111111111111111111110
240*57718be8SEnji Cooper  2  47   0 1111111111111111111111111111111111111111111111100
241*57718be8SEnji Cooper  3  46   0 1111111111111111111111111111111111111111111111000
242*57718be8SEnji Cooper  4  45   0 1111111111111111111111111111111111111111111110000
243*57718be8SEnji Cooper  5  44   0 1111111111111111111111111111111111111111111100000
244*57718be8SEnji Cooper  6  43   0 1111111111111111111111111111111111111111111000000
245*57718be8SEnji Cooper  7  42   0 1111111111111111111111111111111111111111110000000
246*57718be8SEnji Cooper  8  41   0 1111111111111111111111111111111111111111100000000
247*57718be8SEnji Cooper  9  40   0 1111111111111111111111111111111111111111000000000
248*57718be8SEnji Cooper 10  39   0 1111111111111111111111111111111111111110000000000
249*57718be8SEnji Cooper 11  38   0 1111111111111111111111111111111111111100000000000
250*57718be8SEnji Cooper 12  37   0 1111111111111111111111111111111111111000000000000
251*57718be8SEnji Cooper 13  36   0 1111111111111111111111111111111111110000000000000
252*57718be8SEnji Cooper 14  35   0 1111111111111111111111111111111111100000000000000
253*57718be8SEnji Cooper 15  34   0 1111111111111111111111111111111111000000000000000
254*57718be8SEnji Cooper 16  33   0 1111111111111111111111111111111110000000000000000
255*57718be8SEnji Cooper 17  32   0 1111111111111111111111111111111100000000000000000
256*57718be8SEnji Cooper 18  31   0 1111111111111111111111111111111000000000000000000
257*57718be8SEnji Cooper 19  30   0 1111111111111111111111111111110000000000000000000
258*57718be8SEnji Cooper 20  29   0 1111111111111111111111111111100000000000000000000
259*57718be8SEnji Cooper 21  28   0 1111111111111111111111111111000000000000000000000
260*57718be8SEnji Cooper 22  27   0 1111111111111111111111111110000000000000000000000
261*57718be8SEnji Cooper 23  26   0 1111111111111111111111111100000000000000000000000
262*57718be8SEnji Cooper 24  25   0 1111111111111111111111111000000000000000000000000
263*57718be8SEnji Cooper 25  24   0 1111111111111111111111110000000000000000000000000
264*57718be8SEnji Cooper 26  23   0 1111111111111111111111100000000000000000000000000
265*57718be8SEnji Cooper 27  22   0 1111111111111111111111000000000000000000000000000
266*57718be8SEnji Cooper 28  21   0 1111111111111111111110000000000000000000000000000
267*57718be8SEnji Cooper 29  20   0 1111111111111111111100000000000000000000000000000
268*57718be8SEnji Cooper 30  19   0 1111111111111111111000000000000000000000000000000
269*57718be8SEnji Cooper 31  18   0 1111111111111111110000000000000000000000000000000
270*57718be8SEnji Cooper 32  17   0 1111111111111111100000000000000000000000000000000
271*57718be8SEnji Cooper 33  16   0 1111111111111111000000000000000000000000000000000
272*57718be8SEnji Cooper 34  15   0 1111111111111110000000000000000000000000000000000
273*57718be8SEnji Cooper 35  14   0 1111111111111100000000000000000000000000000000000
274*57718be8SEnji Cooper 36  13   0 1111111111111000000000000000000000000000000000000
275*57718be8SEnji Cooper 37  12   0 1111111111110000000000000000000000000000000000000
276*57718be8SEnji Cooper 38  11   0 1111111111100000000000000000000000000000000000000
277*57718be8SEnji Cooper 39  10   0 1111111111000000000000000000000000000000000000000
278*57718be8SEnji Cooper 40   9   0 1111111110000000000000000000000000000000000000000
279*57718be8SEnji Cooper 41   8   0 1111111100000000000000000000000000000000000000000
280*57718be8SEnji Cooper 42   7   0 1111111000000000000000000000000000000000000000000
281*57718be8SEnji Cooper 43   6   0 1111110000000000000000000000000000000000000000000
282*57718be8SEnji Cooper 44   5   0 1111100000000000000000000000000000000000000000000
283*57718be8SEnji Cooper 45   4   0 1111000000000000000000000000000000000000000000000
284*57718be8SEnji Cooper 46   3   0 1110000000000000000000000000000000000000000000000
285*57718be8SEnji Cooper 47   2   0 1100000000000000000000000000000000000000000000000
286*57718be8SEnji Cooper 48   1   0 1000000000000000000000000000000000000000000000000
287*57718be8SEnji Cooper
288*57718be8SEnji Cooperfirst 1 bit should move left 1 position each line
289*57718be8SEnji Cooper  0   0  -1 0000000000000000000000000000000000000000000000000
290*57718be8SEnji Cooper  1   0  48 0000000000000000000000000000000000000000000000001
291*57718be8SEnji Cooper  2   0  47 0000000000000000000000000000000000000000000000011
292*57718be8SEnji Cooper  3   0  46 0000000000000000000000000000000000000000000000111
293*57718be8SEnji Cooper  4   0  45 0000000000000000000000000000000000000000000001111
294*57718be8SEnji Cooper  5   0  44 0000000000000000000000000000000000000000000011111
295*57718be8SEnji Cooper  6   0  43 0000000000000000000000000000000000000000000111111
296*57718be8SEnji Cooper  7   0  42 0000000000000000000000000000000000000000001111111
297*57718be8SEnji Cooper  8   0  41 0000000000000000000000000000000000000000011111111
298*57718be8SEnji Cooper  9   0  40 0000000000000000000000000000000000000000111111111
299*57718be8SEnji Cooper 10   0  39 0000000000000000000000000000000000000001111111111
300*57718be8SEnji Cooper 11   0  38 0000000000000000000000000000000000000011111111111
301*57718be8SEnji Cooper 12   0  37 0000000000000000000000000000000000000111111111111
302*57718be8SEnji Cooper 13   0  36 0000000000000000000000000000000000001111111111111
303*57718be8SEnji Cooper 14   0  35 0000000000000000000000000000000000011111111111111
304*57718be8SEnji Cooper 15   0  34 0000000000000000000000000000000000111111111111111
305*57718be8SEnji Cooper 16   0  33 0000000000000000000000000000000001111111111111111
306*57718be8SEnji Cooper 17   0  32 0000000000000000000000000000000011111111111111111
307*57718be8SEnji Cooper 18   0  31 0000000000000000000000000000000111111111111111111
308*57718be8SEnji Cooper 19   0  30 0000000000000000000000000000001111111111111111111
309*57718be8SEnji Cooper 20   0  29 0000000000000000000000000000011111111111111111111
310*57718be8SEnji Cooper 21   0  28 0000000000000000000000000000111111111111111111111
311*57718be8SEnji Cooper 22   0  27 0000000000000000000000000001111111111111111111111
312*57718be8SEnji Cooper 23   0  26 0000000000000000000000000011111111111111111111111
313*57718be8SEnji Cooper 24   0  25 0000000000000000000000000111111111111111111111111
314*57718be8SEnji Cooper 25   0  24 0000000000000000000000001111111111111111111111111
315*57718be8SEnji Cooper 26   0  23 0000000000000000000000011111111111111111111111111
316*57718be8SEnji Cooper 27   0  22 0000000000000000000000111111111111111111111111111
317*57718be8SEnji Cooper 28   0  21 0000000000000000000001111111111111111111111111111
318*57718be8SEnji Cooper 29   0  20 0000000000000000000011111111111111111111111111111
319*57718be8SEnji Cooper 30   0  19 0000000000000000000111111111111111111111111111111
320*57718be8SEnji Cooper 31   0  18 0000000000000000001111111111111111111111111111111
321*57718be8SEnji Cooper 32   0  17 0000000000000000011111111111111111111111111111111
322*57718be8SEnji Cooper 33   0  16 0000000000000000111111111111111111111111111111111
323*57718be8SEnji Cooper 34   0  15 0000000000000001111111111111111111111111111111111
324*57718be8SEnji Cooper 35   0  14 0000000000000011111111111111111111111111111111111
325*57718be8SEnji Cooper 36   0  13 0000000000000111111111111111111111111111111111111
326*57718be8SEnji Cooper 37   0  12 0000000000001111111111111111111111111111111111111
327*57718be8SEnji Cooper 38   0  11 0000000000011111111111111111111111111111111111111
328*57718be8SEnji Cooper 39   0  10 0000000000111111111111111111111111111111111111111
329*57718be8SEnji Cooper 40   0   9 0000000001111111111111111111111111111111111111111
330*57718be8SEnji Cooper 41   0   8 0000000011111111111111111111111111111111111111111
331*57718be8SEnji Cooper 42   0   7 0000000111111111111111111111111111111111111111111
332*57718be8SEnji Cooper 43   0   6 0000001111111111111111111111111111111111111111111
333*57718be8SEnji Cooper 44   0   5 0000011111111111111111111111111111111111111111111
334*57718be8SEnji Cooper 45   0   4 0000111111111111111111111111111111111111111111111
335*57718be8SEnji Cooper 46   0   3 0001111111111111111111111111111111111111111111111
336*57718be8SEnji Cooper 47   0   2 0011111111111111111111111111111111111111111111111
337*57718be8SEnji Cooper 48   0   1 0111111111111111111111111111111111111111111111111
338*57718be8SEnji Cooper
339*57718be8SEnji Cooper0 bit should move right 1 position each line
340*57718be8SEnji Cooper  0   0   1 0111111111111111111111111111111111111111111111111
341*57718be8SEnji Cooper  1   1   0 1011111111111111111111111111111111111111111111111
342*57718be8SEnji Cooper  2   2   0 1101111111111111111111111111111111111111111111111
343*57718be8SEnji Cooper  3   3   0 1110111111111111111111111111111111111111111111111
344*57718be8SEnji Cooper  4   4   0 1111011111111111111111111111111111111111111111111
345*57718be8SEnji Cooper  5   5   0 1111101111111111111111111111111111111111111111111
346*57718be8SEnji Cooper  6   6   0 1111110111111111111111111111111111111111111111111
347*57718be8SEnji Cooper  7   7   0 1111111011111111111111111111111111111111111111111
348*57718be8SEnji Cooper  8   8   0 1111111101111111111111111111111111111111111111111
349*57718be8SEnji Cooper  9   9   0 1111111110111111111111111111111111111111111111111
350*57718be8SEnji Cooper 10  10   0 1111111111011111111111111111111111111111111111111
351*57718be8SEnji Cooper 11  11   0 1111111111101111111111111111111111111111111111111
352*57718be8SEnji Cooper 12  12   0 1111111111110111111111111111111111111111111111111
353*57718be8SEnji Cooper 13  13   0 1111111111111011111111111111111111111111111111111
354*57718be8SEnji Cooper 14  14   0 1111111111111101111111111111111111111111111111111
355*57718be8SEnji Cooper 15  15   0 1111111111111110111111111111111111111111111111111
356*57718be8SEnji Cooper 16  16   0 1111111111111111011111111111111111111111111111111
357*57718be8SEnji Cooper 17  17   0 1111111111111111101111111111111111111111111111111
358*57718be8SEnji Cooper 18  18   0 1111111111111111110111111111111111111111111111111
359*57718be8SEnji Cooper 19  19   0 1111111111111111111011111111111111111111111111111
360*57718be8SEnji Cooper 20  20   0 1111111111111111111101111111111111111111111111111
361*57718be8SEnji Cooper 21  21   0 1111111111111111111110111111111111111111111111111
362*57718be8SEnji Cooper 22  22   0 1111111111111111111111011111111111111111111111111
363*57718be8SEnji Cooper 23  23   0 1111111111111111111111101111111111111111111111111
364*57718be8SEnji Cooper 24  24   0 1111111111111111111111110111111111111111111111111
365*57718be8SEnji Cooper 25  25   0 1111111111111111111111111011111111111111111111111
366*57718be8SEnji Cooper 26  26   0 1111111111111111111111111101111111111111111111111
367*57718be8SEnji Cooper 27  27   0 1111111111111111111111111110111111111111111111111
368*57718be8SEnji Cooper 28  28   0 1111111111111111111111111111011111111111111111111
369*57718be8SEnji Cooper 29  29   0 1111111111111111111111111111101111111111111111111
370*57718be8SEnji Cooper 30  30   0 1111111111111111111111111111110111111111111111111
371*57718be8SEnji Cooper 31  31   0 1111111111111111111111111111111011111111111111111
372*57718be8SEnji Cooper 32  32   0 1111111111111111111111111111111101111111111111111
373*57718be8SEnji Cooper 33  33   0 1111111111111111111111111111111110111111111111111
374*57718be8SEnji Cooper 34  34   0 1111111111111111111111111111111111011111111111111
375*57718be8SEnji Cooper 35  35   0 1111111111111111111111111111111111101111111111111
376*57718be8SEnji Cooper 36  36   0 1111111111111111111111111111111111110111111111111
377*57718be8SEnji Cooper 37  37   0 1111111111111111111111111111111111111011111111111
378*57718be8SEnji Cooper 38  38   0 1111111111111111111111111111111111111101111111111
379*57718be8SEnji Cooper 39  39   0 1111111111111111111111111111111111111110111111111
380*57718be8SEnji Cooper 40  40   0 1111111111111111111111111111111111111111011111111
381*57718be8SEnji Cooper 41  41   0 1111111111111111111111111111111111111111101111111
382*57718be8SEnji Cooper 42  42   0 1111111111111111111111111111111111111111110111111
383*57718be8SEnji Cooper 43  43   0 1111111111111111111111111111111111111111111011111
384*57718be8SEnji Cooper 44  44   0 1111111111111111111111111111111111111111111101111
385*57718be8SEnji Cooper 45  45   0 1111111111111111111111111111111111111111111110111
386*57718be8SEnji Cooper 46  46   0 1111111111111111111111111111111111111111111111011
387*57718be8SEnji Cooper 47  47   0 1111111111111111111111111111111111111111111111101
388*57718be8SEnji Cooper 48  48   0 1111111111111111111111111111111111111111111111110
389*57718be8SEnji Cooper
390*57718be8SEnji Cooper1 bit should move right 1 position each line
391*57718be8SEnji Cooper  0   1   0 1000000000000000000000000000000000000000000000000
392*57718be8SEnji Cooper  1   0   1 0100000000000000000000000000000000000000000000000
393*57718be8SEnji Cooper  2   0   2 0010000000000000000000000000000000000000000000000
394*57718be8SEnji Cooper  3   0   3 0001000000000000000000000000000000000000000000000
395*57718be8SEnji Cooper  4   0   4 0000100000000000000000000000000000000000000000000
396*57718be8SEnji Cooper  5   0   5 0000010000000000000000000000000000000000000000000
397*57718be8SEnji Cooper  6   0   6 0000001000000000000000000000000000000000000000000
398*57718be8SEnji Cooper  7   0   7 0000000100000000000000000000000000000000000000000
399*57718be8SEnji Cooper  8   0   8 0000000010000000000000000000000000000000000000000
400*57718be8SEnji Cooper  9   0   9 0000000001000000000000000000000000000000000000000
401*57718be8SEnji Cooper 10   0  10 0000000000100000000000000000000000000000000000000
402*57718be8SEnji Cooper 11   0  11 0000000000010000000000000000000000000000000000000
403*57718be8SEnji Cooper 12   0  12 0000000000001000000000000000000000000000000000000
404*57718be8SEnji Cooper 13   0  13 0000000000000100000000000000000000000000000000000
405*57718be8SEnji Cooper 14   0  14 0000000000000010000000000000000000000000000000000
406*57718be8SEnji Cooper 15   0  15 0000000000000001000000000000000000000000000000000
407*57718be8SEnji Cooper 16   0  16 0000000000000000100000000000000000000000000000000
408*57718be8SEnji Cooper 17   0  17 0000000000000000010000000000000000000000000000000
409*57718be8SEnji Cooper 18   0  18 0000000000000000001000000000000000000000000000000
410*57718be8SEnji Cooper 19   0  19 0000000000000000000100000000000000000000000000000
411*57718be8SEnji Cooper 20   0  20 0000000000000000000010000000000000000000000000000
412*57718be8SEnji Cooper 21   0  21 0000000000000000000001000000000000000000000000000
413*57718be8SEnji Cooper 22   0  22 0000000000000000000000100000000000000000000000000
414*57718be8SEnji Cooper 23   0  23 0000000000000000000000010000000000000000000000000
415*57718be8SEnji Cooper 24   0  24 0000000000000000000000001000000000000000000000000
416*57718be8SEnji Cooper 25   0  25 0000000000000000000000000100000000000000000000000
417*57718be8SEnji Cooper 26   0  26 0000000000000000000000000010000000000000000000000
418*57718be8SEnji Cooper 27   0  27 0000000000000000000000000001000000000000000000000
419*57718be8SEnji Cooper 28   0  28 0000000000000000000000000000100000000000000000000
420*57718be8SEnji Cooper 29   0  29 0000000000000000000000000000010000000000000000000
421*57718be8SEnji Cooper 30   0  30 0000000000000000000000000000001000000000000000000
422*57718be8SEnji Cooper 31   0  31 0000000000000000000000000000000100000000000000000
423*57718be8SEnji Cooper 32   0  32 0000000000000000000000000000000010000000000000000
424*57718be8SEnji Cooper 33   0  33 0000000000000000000000000000000001000000000000000
425*57718be8SEnji Cooper 34   0  34 0000000000000000000000000000000000100000000000000
426*57718be8SEnji Cooper 35   0  35 0000000000000000000000000000000000010000000000000
427*57718be8SEnji Cooper 36   0  36 0000000000000000000000000000000000001000000000000
428*57718be8SEnji Cooper 37   0  37 0000000000000000000000000000000000000100000000000
429*57718be8SEnji Cooper 38   0  38 0000000000000000000000000000000000000010000000000
430*57718be8SEnji Cooper 39   0  39 0000000000000000000000000000000000000001000000000
431*57718be8SEnji Cooper 40   0  40 0000000000000000000000000000000000000000100000000
432*57718be8SEnji Cooper 41   0  41 0000000000000000000000000000000000000000010000000
433*57718be8SEnji Cooper 42   0  42 0000000000000000000000000000000000000000001000000
434*57718be8SEnji Cooper 43   0  43 0000000000000000000000000000000000000000000100000
435*57718be8SEnji Cooper 44   0  44 0000000000000000000000000000000000000000000010000
436*57718be8SEnji Cooper 45   0  45 0000000000000000000000000000000000000000000001000
437*57718be8SEnji Cooper 46   0  46 0000000000000000000000000000000000000000000000100
438*57718be8SEnji Cooper 47   0  47 0000000000000000000000000000000000000000000000010
439*57718be8SEnji Cooper 48   0  48 0000000000000000000000000000000000000000000000001
440