Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
int main() {
  check_ctz(0);
  check_clz(0);
  return 0;
}