|
18 | 18 | */ |
19 | 19 | #include "../test.hpp" |
20 | 20 |
|
| 21 | +// is_power2 |
| 22 | + |
| 23 | +////static_assert(!is_power2(-1)); |
| 24 | +static_assert(!is_power2(0u)); |
| 25 | +static_assert(!is_power2(3u)); |
| 26 | +static_assert(!is_power2(5u)); |
| 27 | +static_assert(!is_power2(6u)); |
| 28 | +static_assert(!is_power2(7u)); |
| 29 | +static_assert(!is_power2(9u)); |
| 30 | +static_assert(!is_power2(10u)); |
| 31 | +static_assert(!is_power2(11u)); |
| 32 | +static_assert(!is_power2(12u)); |
| 33 | +static_assert(!is_power2(sub1(9223372036854775808u))); |
| 34 | +static_assert(!is_power2(add1(9223372036854775808u))); |
| 35 | + |
| 36 | +static_assert( is_power2(1u)); |
| 37 | +static_assert( is_power2(2u)); |
| 38 | +static_assert( is_power2(4u)); |
| 39 | +static_assert( is_power2(8u)); |
| 40 | +static_assert( is_power2(16u)); |
| 41 | +static_assert( is_power2(32u)); |
| 42 | +static_assert( is_power2(64u)); |
| 43 | +static_assert( is_power2(128u)); |
| 44 | +static_assert( is_power2(256u)); |
| 45 | +static_assert( is_power2(512u)); |
| 46 | +static_assert( is_power2(1024u)); |
| 47 | +static_assert( is_power2(2048u)); |
| 48 | +static_assert( is_power2(4096u)); |
| 49 | +static_assert( is_power2(8192u)); |
| 50 | +static_assert( is_power2(16384u)); |
| 51 | +static_assert( is_power2(32768u)); |
| 52 | +static_assert( is_power2(65536u)); |
| 53 | +static_assert( is_power2(131072u)); |
| 54 | +static_assert( is_power2(262144u)); |
| 55 | +static_assert( is_power2(524288u)); |
| 56 | +static_assert( is_power2(1048576u)); |
| 57 | +static_assert( is_power2(2097152u)); |
| 58 | +static_assert( is_power2(4194304u)); |
| 59 | +static_assert( is_power2(8388608u)); |
| 60 | +static_assert( is_power2(16777216u)); |
| 61 | +static_assert( is_power2(33554432u)); |
| 62 | +static_assert( is_power2(67108864u)); |
| 63 | +static_assert( is_power2(134217728u)); |
| 64 | +static_assert( is_power2(268435456u)); |
| 65 | +static_assert( is_power2(536870912u)); |
| 66 | +static_assert( is_power2(1073741824u)); |
| 67 | +static_assert( is_power2(2147483648u)); |
| 68 | +static_assert( is_power2(4294967296u)); |
| 69 | +static_assert( is_power2(8589934592u)); |
| 70 | +static_assert( is_power2(17179869184u)); |
| 71 | +static_assert( is_power2(34359738368u)); |
| 72 | +static_assert( is_power2(68719476736u)); |
| 73 | +static_assert( is_power2(137438953472u)); |
| 74 | +static_assert( is_power2(274877906944u)); |
| 75 | +static_assert( is_power2(549755813888u)); |
| 76 | +static_assert( is_power2(1099511627776u)); |
| 77 | +static_assert( is_power2(2199023255552u)); |
| 78 | +static_assert( is_power2(4398046511104u)); |
| 79 | +static_assert( is_power2(8796093022208u)); |
| 80 | +static_assert( is_power2(17592186044416u)); |
| 81 | +static_assert( is_power2(35184372088832u)); |
| 82 | +static_assert( is_power2(70368744177664u)); |
| 83 | +static_assert( is_power2(140737488355328u)); |
| 84 | +static_assert( is_power2(281474976710656u)); |
| 85 | +static_assert( is_power2(562949953421312u)); |
| 86 | +static_assert( is_power2(1125899906842624u)); |
| 87 | +static_assert( is_power2(2251799813685248u)); |
| 88 | +static_assert( is_power2(4503599627370496u)); |
| 89 | +static_assert( is_power2(9007199254740992u)); |
| 90 | +static_assert( is_power2(18014398509481984u)); |
| 91 | +static_assert( is_power2(36028797018963968u)); |
| 92 | +static_assert( is_power2(72057594037927936u)); |
| 93 | +static_assert( is_power2(144115188075855872u)); |
| 94 | +static_assert( is_power2(288230376151711744u)); |
| 95 | +static_assert( is_power2(576460752303423488u)); |
| 96 | +static_assert( is_power2(1152921504606846976u)); |
| 97 | +static_assert( is_power2(2305843009213693952u)); |
| 98 | +static_assert( is_power2(4611686018427387904u)); |
| 99 | +static_assert( is_power2(9223372036854775808u)); |
| 100 | + |
21 | 101 | // ceilinged_log |
22 | 102 |
|
23 | 103 | static_assert(ceilinged_log(-2, 2u) == 0u); |
|
0 commit comments