> On Aug 20, 2025, at 15:40, Michael Paquier <mich...@paquier.xyz> wrote: > > On Tue, Aug 19, 2025 at 10:46:58AM -0400, Tom Lane wrote: >> +1 for getting rid of those while we're doing janitorial work here. >> They're not *quite* duplicates though, for instance next_pow2_int has >> different response to out-of-range values than pg_nextpower2_32. > > This would mean introducing more flavors in pg_bitutils.h with limit > checks. That does not seem completely right to do in this file, which > is a wrapper for all the __builtin_*() calls? A second point is on > the signedness but we could just cap the maximum at > (PG_UINT{32,64}_MAX / 2), I guess, with two new routines like: > uint64 pg_nextpower2_64_max(uint64 num); > uint32 pg_prevpower2_32_max(uint32 num); >
I wonder if we can keep the same naming style to make the new function name like next_pow2_64()? -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/