Testing with TEST_LENGTH = 32

test _bit_byte, _bit_mask, and bitstr_size
 i   _bit_byte(i)   _bit_mask(i) bitstr_size(i)
 0              0              1              0
 1              0              2              1
 2              0              4              1
 3              0              8              1
 4              0             16              1
 5              0             32              1
 6              0             64              1
 7              0            128              1
 8              1              1              1
 9              1              2              2
10              1              4              2
11              1              8              2
12              1             16              2
13              1             32              2
14              1             64              2
15              1            128              2
16              2              1              2
17              2              2              3
18              2              4              3
19              2              8              3
20              2             16              3
21              2             32              3
22              2             64              3
23              2            128              3
24              3              1              3
25              3              2              4
26              3              4              4
27              3              8              4
28              3             16              4
29              3             32              4
30              3             64              4
31              3            128              4

test bit_alloc, clearbits, bit_ffc, bit_ffs
be:   0  -1 00000000000000000000000000000000
is:   0  -1 00000000000000000000000000000000

test bit_set
be:   1   0 10010010010010010010010010010010
is:   1   0 10010010010010010010010010010010

test bit_clear
be:   0   3 00010000010000010000010000010000
is:   0   3 00010000010000010000010000010000

test bit_test using previous bitstring
 i    bit_test(i)
 0              0
 1              0
 2              0
 3              8
 4              0
 5              0
 6              0
 7              0
 8              0
 9              2
10              0
11              0
12              0
13              0
14              0
15            128
16              0
17              0
18              0
19              0
20              0
21             32
22              0
23              0
24              0
25              0
26              0
27              8
28              0
29              0
30              0
31              0

test clearbits
be:   0  -1 00000000000000000000000000000000
is:   0  -1 00000000000000000000000000000000

test bit_nset and bit_nclear
be:   0   1 01111111111111111111111111111110
is:   0   1 01111111111111111111111111111110
be:   0   1 01000000000000000000000000000010
is:   0   1 01000000000000000000000000000010
be:   0  -1 00000000000000000000000000000000
is:   0  -1 00000000000000000000000000000000
be:  31   0 11111111111111111111111111111110
is:  31   0 11111111111111111111111111111110
be:   0  -1 00000000000000000000000000000000
is:   0  -1 00000000000000000000000000000000

first 1 bit should move right 1 position each line
 0  -1   0 11111111111111111111111111111111
 1   0   1 01111111111111111111111111111111
 2   0   2 00111111111111111111111111111111
 3   0   3 00011111111111111111111111111111
 4   0   4 00001111111111111111111111111111
 5   0   5 00000111111111111111111111111111
 6   0   6 00000011111111111111111111111111
 7   0   7 00000001111111111111111111111111
 8   0   8 00000000111111111111111111111111
 9   0   9 00000000011111111111111111111111
10   0  10 00000000001111111111111111111111
11   0  11 00000000000111111111111111111111
12   0  12 00000000000011111111111111111111
13   0  13 00000000000001111111111111111111
14   0  14 00000000000000111111111111111111
15   0  15 00000000000000011111111111111111
16   0  16 00000000000000001111111111111111
17   0  17 00000000000000000111111111111111
18   0  18 00000000000000000011111111111111
19   0  19 00000000000000000001111111111111
20   0  20 00000000000000000000111111111111
21   0  21 00000000000000000000011111111111
22   0  22 00000000000000000000001111111111
23   0  23 00000000000000000000000111111111
24   0  24 00000000000000000000000011111111
25   0  25 00000000000000000000000001111111
26   0  26 00000000000000000000000000111111
27   0  27 00000000000000000000000000011111
28   0  28 00000000000000000000000000001111
29   0  29 00000000000000000000000000000111
30   0  30 00000000000000000000000000000011
31   0  31 00000000000000000000000000000001

first 0 bit should move right 1 position each line
 0   0  -1 00000000000000000000000000000000
 1   1   0 10000000000000000000000000000000
 2   2   0 11000000000000000000000000000000
 3   3   0 11100000000000000000000000000000
 4   4   0 11110000000000000000000000000000
 5   5   0 11111000000000000000000000000000
 6   6   0 11111100000000000000000000000000
 7   7   0 11111110000000000000000000000000
 8   8   0 11111111000000000000000000000000
 9   9   0 11111111100000000000000000000000
10  10   0 11111111110000000000000000000000
11  11   0 11111111111000000000000000000000
12  12   0 11111111111100000000000000000000
13  13   0 11111111111110000000000000000000
14  14   0 11111111111111000000000000000000
15  15   0 11111111111111100000000000000000
16  16   0 11111111111111110000000000000000
17  17   0 11111111111111111000000000000000
18  18   0 11111111111111111100000000000000
19  19   0 11111111111111111110000000000000
20  20   0 11111111111111111111000000000000
21  21   0 11111111111111111111100000000000
22  22   0 11111111111111111111110000000000
23  23   0 11111111111111111111111000000000
24  24   0 11111111111111111111111100000000
25  25   0 11111111111111111111111110000000
26  26   0 11111111111111111111111111000000
27  27   0 11111111111111111111111111100000
28  28   0 11111111111111111111111111110000
29  29   0 11111111111111111111111111111000
30  30   0 11111111111111111111111111111100
31  31   0 11111111111111111111111111111110

first 0 bit should move left 1 position each line
 0  -1   0 11111111111111111111111111111111
 1  31   0 11111111111111111111111111111110
 2  30   0 11111111111111111111111111111100
 3  29   0 11111111111111111111111111111000
 4  28   0 11111111111111111111111111110000
 5  27   0 11111111111111111111111111100000
 6  26   0 11111111111111111111111111000000
 7  25   0 11111111111111111111111110000000
 8  24   0 11111111111111111111111100000000
 9  23   0 11111111111111111111111000000000
10  22   0 11111111111111111111110000000000
11  21   0 11111111111111111111100000000000
12  20   0 11111111111111111111000000000000
13  19   0 11111111111111111110000000000000
14  18   0 11111111111111111100000000000000
15  17   0 11111111111111111000000000000000
16  16   0 11111111111111110000000000000000
17  15   0 11111111111111100000000000000000
18  14   0 11111111111111000000000000000000
19  13   0 11111111111110000000000000000000
20  12   0 11111111111100000000000000000000
21  11   0 11111111111000000000000000000000
22  10   0 11111111110000000000000000000000
23   9   0 11111111100000000000000000000000
24   8   0 11111111000000000000000000000000
25   7   0 11111110000000000000000000000000
26   6   0 11111100000000000000000000000000
27   5   0 11111000000000000000000000000000
28   4   0 11110000000000000000000000000000
29   3   0 11100000000000000000000000000000
30   2   0 11000000000000000000000000000000
31   1   0 10000000000000000000000000000000

first 1 bit should move left 1 position each line
 0   0  -1 00000000000000000000000000000000
 1   0  31 00000000000000000000000000000001
 2   0  30 00000000000000000000000000000011
 3   0  29 00000000000000000000000000000111
 4   0  28 00000000000000000000000000001111
 5   0  27 00000000000000000000000000011111
 6   0  26 00000000000000000000000000111111
 7   0  25 00000000000000000000000001111111
 8   0  24 00000000000000000000000011111111
 9   0  23 00000000000000000000000111111111
10   0  22 00000000000000000000001111111111
11   0  21 00000000000000000000011111111111
12   0  20 00000000000000000000111111111111
13   0  19 00000000000000000001111111111111
14   0  18 00000000000000000011111111111111
15   0  17 00000000000000000111111111111111
16   0  16 00000000000000001111111111111111
17   0  15 00000000000000011111111111111111
18   0  14 00000000000000111111111111111111
19   0  13 00000000000001111111111111111111
20   0  12 00000000000011111111111111111111
21   0  11 00000000000111111111111111111111
22   0  10 00000000001111111111111111111111
23   0   9 00000000011111111111111111111111
24   0   8 00000000111111111111111111111111
25   0   7 00000001111111111111111111111111
26   0   6 00000011111111111111111111111111
27   0   5 00000111111111111111111111111111
28   0   4 00001111111111111111111111111111
29   0   3 00011111111111111111111111111111
30   0   2 00111111111111111111111111111111
31   0   1 01111111111111111111111111111111

0 bit should move right 1 position each line
 0   0   1 01111111111111111111111111111111
 1   1   0 10111111111111111111111111111111
 2   2   0 11011111111111111111111111111111
 3   3   0 11101111111111111111111111111111
 4   4   0 11110111111111111111111111111111
 5   5   0 11111011111111111111111111111111
 6   6   0 11111101111111111111111111111111
 7   7   0 11111110111111111111111111111111
 8   8   0 11111111011111111111111111111111
 9   9   0 11111111101111111111111111111111
10  10   0 11111111110111111111111111111111
11  11   0 11111111111011111111111111111111
12  12   0 11111111111101111111111111111111
13  13   0 11111111111110111111111111111111
14  14   0 11111111111111011111111111111111
15  15   0 11111111111111101111111111111111
16  16   0 11111111111111110111111111111111
17  17   0 11111111111111111011111111111111
18  18   0 11111111111111111101111111111111
19  19   0 11111111111111111110111111111111
20  20   0 11111111111111111111011111111111
21  21   0 11111111111111111111101111111111
22  22   0 11111111111111111111110111111111
23  23   0 11111111111111111111111011111111
24  24   0 11111111111111111111111101111111
25  25   0 11111111111111111111111110111111
26  26   0 11111111111111111111111111011111
27  27   0 11111111111111111111111111101111
28  28   0 11111111111111111111111111110111
29  29   0 11111111111111111111111111111011
30  30   0 11111111111111111111111111111101
31  31   0 11111111111111111111111111111110

1 bit should move right 1 position each line
 0   1   0 10000000000000000000000000000000
 1   0   1 01000000000000000000000000000000
 2   0   2 00100000000000000000000000000000
 3   0   3 00010000000000000000000000000000
 4   0   4 00001000000000000000000000000000
 5   0   5 00000100000000000000000000000000
 6   0   6 00000010000000000000000000000000
 7   0   7 00000001000000000000000000000000
 8   0   8 00000000100000000000000000000000
 9   0   9 00000000010000000000000000000000
10   0  10 00000000001000000000000000000000
11   0  11 00000000000100000000000000000000
12   0  12 00000000000010000000000000000000
13   0  13 00000000000001000000000000000000
14   0  14 00000000000000100000000000000000
15   0  15 00000000000000010000000000000000
16   0  16 00000000000000001000000000000000
17   0  17 00000000000000000100000000000000
18   0  18 00000000000000000010000000000000
19   0  19 00000000000000000001000000000000
20   0  20 00000000000000000000100000000000
21   0  21 00000000000000000000010000000000
22   0  22 00000000000000000000001000000000
23   0  23 00000000000000000000000100000000
24   0  24 00000000000000000000000010000000
25   0  25 00000000000000000000000001000000
26   0  26 00000000000000000000000000100000
27   0  27 00000000000000000000000000010000
28   0  28 00000000000000000000000000001000
29   0  29 00000000000000000000000000000100
30   0  30 00000000000000000000000000000010
31   0  31 00000000000000000000000000000001