17 #ifndef QUERYENGINE_HYPERLOGLOGRT_H
18 #define QUERYENGINE_HYPERLOGLOGRT_H
20 #include "../Shared/funcannotations.h"
26 inline __device__ int32_t
get_rank(uint64_t x, uint32_t b) {
27 return min(b, static_cast<uint32_t>(x ? __clzll(x) : 64)) + 1;
32 return std::min(b, static_cast<uint32_t>(x ? __lzcnt64(x) : 64)) + 1;
34 return std::min(b, static_cast<uint32_t>(x ? __builtin_clzl(x) : 64)) + 1;
39 #endif // QUERYENGINE_HYPERLOGLOGRT_H
FORCE_INLINE uint8_t get_rank(uint64_t x, uint32_t b)