return ((uint64) 1) << (pg_leftmost_one_pos64(num) + 1);
}
-/*
- * pg_nextpower2_size_t
- * Returns the next higher power of 2 above 'num', for a size_t input.
- */
-#if SIZEOF_SIZE_T == 4
-#define pg_nextpower2_size_t(num) pg_nextpower2_32(num)
-#else
-#define pg_nextpower2_size_t(num) pg_nextpower2_64(num)
-#endif
-
/*
* pg_prevpower2_32
* Returns the next lower power of 2 below 'num', or 'num' if it's
return ((uint64) 1) << pg_leftmost_one_pos64(num);
}
-/*
- * pg_prevpower2_size_t
- * Returns the next lower power of 2 below 'num', for a size_t input.
- */
-#if SIZEOF_SIZE_T == 4
-#define pg_prevpower2_size_t(num) pg_prevpower2_32(num)
-#else
-#define pg_prevpower2_size_t(num) pg_prevpower2_64(num)
-#endif
-
/*
* pg_ceil_log2_32
* Returns equivalent of ceil(log2(num))
return (word << n) | (word >> (32 - n));
}
+/* size_t variants of the above, as required */
+
+#if SIZEOF_SIZE_T == 4
+#define pg_leftmost_one_pos_size_t pg_leftmost_one_pos32
+#define pg_nextpower2_size_t pg_nextpower2_32
+#define pg_prevpower2_size_t pg_prevpower2_32
+#else
+#define pg_leftmost_one_pos_size_t pg_leftmost_one_pos64
+#define pg_nextpower2_size_t pg_nextpower2_64
+#define pg_prevpower2_size_t pg_prevpower2_64
+#endif
+
#endif /* PG_BITUTILS_H */