1 #include <ccan/tdb2/tdb.c>
2 #include <ccan/tdb2/open.c>
3 #include <ccan/tdb2/free.c>
4 #include <ccan/tdb2/lock.c>
5 #include <ccan/tdb2/io.c>
6 #include <ccan/tdb2/hash.c>
7 #include <ccan/tdb2/transaction.c>
8 #include <ccan/tdb2/check.c>
9 #include <ccan/tap/tap.h>
11 static unsigned int dumb_fls(uint64_t num
)
15 for (i
= 63; i
>= 0; i
--) {
16 if (num
& (1ULL << i
))
22 int main(int argc
, char *argv
[])
26 plan_tests(64 * 64 + 2);
29 ok1(dumb_fls(0) == 0);
31 for (i
= 0; i
< 64; i
++) {
32 for (j
= 0; j
< 64; j
++) {
33 uint64_t val
= (1ULL << i
) | (1ULL << j
);
34 ok(fls64(val
) == dumb_fls(val
),
35 "%llu -> %u should be %u", (long long)val
,
36 fls64(val
), dumb_fls(val
));