diff --git a/include/nextpow2.h b/include/nextpow2.h index 075c5a88..e1e6ac18 100644 --- a/include/nextpow2.h +++ b/include/nextpow2.h @@ -12,6 +12,12 @@ size_t nextpow2(size_t x) { assert(x != 0); +#if defined(UINT64_MAX) && UINTPTR_MAX == UINT32_MAX + assert(x <= 1073741824); +#endif +#if defined(UINT64_MAX) && UINTPTR_MAX == UINT64_MAX + assert(x <= 4611686018427387904); +#endif #ifdef __GNUC__ #if __GNUC__ > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ > 4 || __GNUC_MINOR__ == 4)) // Test for GCC >= 3.4.0 @@ -23,7 +29,7 @@ size_t nextpow2(size_t x) { #endif #endif -#if UINTPTR_MAX == UINT32_MAX || UINTPTR_MAX == UINT64_MAX +#if defined(UINT32_MAX) && (UINTPTR_MAX == UINT32_MAX || UINTPTR_MAX == UINT64_MAX) x--; x |= x >> 1; x |= x >> 2;