aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2022-07-22 09:40:39 +1200
committerThomas Munro <tmunro@postgresql.org>2022-07-22 09:40:39 +1200
commit3225399021b62cda66012b17ee60c7bec4733fce (patch)
tree2137dbbd691a67fffd5ef7ecd9537542a068c2a3 /src
parenta4f09ef22981011020a5b7404dc2801751b15f64 (diff)
downloadpostgresql-3225399021b62cda66012b17ee60c7bec4733fce.tar.gz
postgresql-3225399021b62cda66012b17ee60c7bec4733fce.zip
Extend size_t support in pg_bitutils.h.
Use a more compact notation that allows us to add more size_t variants as required. This will be used by a later commit. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CA%2BhUKG%2B7dSX1XF8yFGmYk-%3D48dbjH2kmzZj16XvhbrWP-9BzRg%40mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/include/port/pg_bitutils.h32
1 files changed, 12 insertions, 20 deletions
diff --git a/src/include/port/pg_bitutils.h b/src/include/port/pg_bitutils.h
index 04e58cd1c44..814e0b2dba0 100644
--- a/src/include/port/pg_bitutils.h
+++ b/src/include/port/pg_bitutils.h
@@ -176,16 +176,6 @@ pg_nextpower2_64(uint64 num)
}
/*
- * 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
* already a power of 2.
@@ -212,16 +202,6 @@ pg_prevpower2_64(uint64 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))
*/
@@ -299,4 +279,16 @@ pg_rotate_left32(uint32 word, int n)
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 */