diff options
author | Thomas Munro <tmunro@postgresql.org> | 2022-07-22 09:40:39 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2022-07-22 09:40:39 +1200 |
commit | 3225399021b62cda66012b17ee60c7bec4733fce (patch) | |
tree | 2137dbbd691a67fffd5ef7ecd9537542a068c2a3 /src | |
parent | a4f09ef22981011020a5b7404dc2801751b15f64 (diff) | |
download | postgresql-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.h | 32 |
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 */ |