]>
git.ipfire.org Git - thirdparty/hostap.git/blob - tests/test-bitfield.c
3 * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
9 #include "utils/includes.h"
10 #include "utils/bitfield.h"
12 int main(int argc
, char *argv
[])
18 bf
= bitfield_alloc(123);
22 for (i
= 0; i
< 123; i
++) {
23 if (bitfield_is_set(bf
, i
) || bitfield_is_set(bf
, i
+ 1))
25 if (i
> 0 && bitfield_is_set(bf
, i
- 1))
28 if (!bitfield_is_set(bf
, i
))
30 bitfield_clear(bf
, i
);
31 if (bitfield_is_set(bf
, i
))
35 for (i
= 123; i
< 200; i
++) {
36 if (bitfield_is_set(bf
, i
) || bitfield_is_set(bf
, i
+ 1))
38 if (i
> 0 && bitfield_is_set(bf
, i
- 1))
41 if (bitfield_is_set(bf
, i
))
43 bitfield_clear(bf
, i
);
44 if (bitfield_is_set(bf
, i
))
48 for (i
= 0; i
< 123; i
++) {
49 if (bitfield_is_set(bf
, i
) || bitfield_is_set(bf
, i
+ 1))
52 if (!bitfield_is_set(bf
, i
))
56 for (i
= 0; i
< 123; i
++) {
57 if (!bitfield_is_set(bf
, i
))
59 bitfield_clear(bf
, i
);
60 if (bitfield_is_set(bf
, i
))
64 for (i
= 0; i
< 123; i
++) {
65 if (bitfield_get_first_zero(bf
) != i
)
69 if (bitfield_get_first_zero(bf
) != -1)
71 for (i
= 0; i
< 123; i
++) {
72 if (!bitfield_is_set(bf
, i
))
74 bitfield_clear(bf
, i
);
75 if (bitfield_get_first_zero(bf
) != i
)
79 if (bitfield_get_first_zero(bf
) != -1)
85 printf("%d test(s) failed\n", errors
);