summaryrefslogtreecommitdiff
path: root/regress/include/bitstring/good/8
blob: aba64404b4578b02daa8e2acc5be573578cfbf15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Testing with TEST_LENGTH = 8

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

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

test bit_set
be:   1   0 10010010
is:   1   0 10010010

test bit_clear
be:   0   3 00010000
is:   0   3 00010000

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

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

test bit_nset and bit_nclear
be:   0   1 01111110
is:   0   1 01111110
be:   0   1 01000010
is:   0   1 01000010
be:   0  -1 00000000
is:   0  -1 00000000
be:   7   0 11111110
is:   7   0 11111110
be:   0  -1 00000000
is:   0  -1 00000000

first 1 bit should move right 1 position each line
  0  -1   0 11111111
  1   0   1 01111111
  2   0   2 00111111
  3   0   3 00011111
  4   0   4 00001111
  5   0   5 00000111
  6   0   6 00000011
  7   0   7 00000001

first 0 bit should move right 1 position each line
  0   0  -1 00000000
  1   1   0 10000000
  2   2   0 11000000
  3   3   0 11100000
  4   4   0 11110000
  5   5   0 11111000
  6   6   0 11111100
  7   7   0 11111110

first 0 bit should move left 1 position each line
  0  -1   0 11111111
  1   7   0 11111110
  2   6   0 11111100
  3   5   0 11111000
  4   4   0 11110000
  5   3   0 11100000
  6   2   0 11000000
  7   1   0 10000000

first 1 bit should move left 1 position each line
  0   0  -1 00000000
  1   0   7 00000001
  2   0   6 00000011
  3   0   5 00000111
  4   0   4 00001111
  5   0   3 00011111
  6   0   2 00111111
  7   0   1 01111111

0 bit should move right 1 position each line
  0   0   1 01111111
  1   1   0 10111111
  2   2   0 11011111
  3   3   0 11101111
  4   4   0 11110111
  5   5   0 11111011
  6   6   0 11111101
  7   7   0 11111110

1 bit should move right 1 position each line
  0   1   0 10000000
  1   0   1 01000000
  2   0   2 00100000
  3   0   3 00010000
  4   0   4 00001000
  5   0   5 00000100
  6   0   6 00000010
  7   0   7 00000001