#pragma once #include #include #include #if defined(__ANDROID__) #include #endif namespace mbgl { namespace util { // Computes the log2(x) rounded up to the next integer. // (== number of bits required to store x) uint32_t ceil_log2(uint64_t x); } // namespace util } // namespace mbgl // log2 is not available on Android before API 18. #if defined(__ANDROID__) && defined(__GNUC__) && \ defined(__ANDROID_API__) && __ANDROID_API__ < 18 template typename std::enable_if_t::value, T> log2(T x) { return ::log(x) / M_LN2; } #endif