int main(void) { int n; for (n = 0; n < 32; n++) { /* Check minimum x such that f(x) == n. */ check_log_2_floor(1 << n, n); check_ctz(1 << n, n); /* Check maximum x such that f(x) == n. */ check_log_2_floor((1 << n) | ((1 << n) - 1), n); check_ctz(UINT32_MAX << n, n); /* Check a random value in the middle. */ check_log_2_floor((random_uint32() & ((1 << n) - 1)) | (1 << n), n); check_ctz((random_uint32() | 1) << n, n); } /* Check ctz(0). * (log_2_floor(0) is undefined.) */ check_ctz(0, 32); check_bitwise_copy(); check_bitwise_zero(); check_bitwise_one(); check_bitwise_is_all_zeros(); return 0; }
int main() { check_ctz(0); check_clz(0); return 0; }