| /* | |
| Copyright (c) 2013 Microsoft Corporation. All rights reserved. | |
| Released under Apache 2.0 license as described in the file LICENSE. | |
| Author: Leonardo de Moura | |
| */ | |
| #include "util/test.h" | |
| #include "util/bit_tricks.h" | |
| using namespace lean; | |
| static void tst1() { | |
| lean_assert(log2(255u) == 7); | |
| lean_assert(log2(256u) == 8); | |
| lean_assert(log2(257u) == 8); | |
| lean_assert(log2(321u) == 8); | |
| lean_assert(log2(520u) == 9); | |
| lean_assert(log2(65535u) == 15); | |
| lean_assert(log2(65536u) == 16); | |
| lean_assert(log2(65537u) == 16); | |
| lean_assert(log2(5203939u) == 22); | |
| lean_assert(log2(10309482u) == 23); | |
| lean_assert(log2(41039392u) == 25); | |
| lean_assert(log2(213469392u) == 27); | |
| lean_assert(log2(1293828727u) == 30); | |
| lean_assert(log2(1073741824u) == 30); | |
| lean_assert(log2(2147483648u) == 31); | |
| lean_assert(log2(4294967295u) == 31); | |
| } | |
| int main() { | |
| tst1(); | |
| return has_violations() ? 1 : 0; | |
| } |