29 for (i = 0, b = (8 *
sizeof(x)) / 2; b != 0; b /= 2) {
30 const unsigned int s = b + i;
55 ck_assert_int_eq(
cstl_fls(3 << 16), 17);
56 ck_assert_int_eq(
cstl_fls(~0UL), 8 *
sizeof(
unsigned long) - 1);
57 ck_assert_int_eq(
cstl_fls(0x5a5a5a5a), 30);
63#define SWAP_TEST(TYPE) \
65 TYPE x = rand(), y = rand(), t; \
66 const TYPE a = x, b = y; \
67 cstl_swap(&x, &y, &t, sizeof(t)); \
68 ck_assert_mem_eq(&a, &y, sizeof(a)); \
69 ck_assert_mem_eq(&b, &x, sizeof(a)); \
80Suite * common_suite(
void)
82 Suite *
const s = suite_create(
"common");
86 tc = tcase_create(
"common");
87 tcase_add_test(tc, fls);
88 tcase_add_test(tc, swap);
89 suite_add_tcase(s, tc);
int cstl_fls(const unsigned long x)
Find the last (highest order) bit set.