1 #include "hmbdc/Copyright.hpp" 6 namespace hmbdc {
namespace numeric {
24 uint16_t setBitsCount(U x) {
25 static_assert(std::is_unsigned<U>::value,
"");
27 for (c = 0; x; c++, x &= x-1);
32 U nthSetBitFromLsb(U x, uint16_t n) {
33 static_assert(std::is_unsigned<U>::value,
"");
36 res = x - (x & (x - 1));
44 uint16_t log2Upper(U x) {
45 static_assert(std::is_unsigned<U>::value,
"");
48 while (xx >>= 1u) { ++l; }
49 return (1ul << l) == x ? l : ++l;
Definition: BitMath.hpp:9
Definition: Client.hpp:11