nextPow2

nextが1である場合に、next2Pow(num)はnumより大きく、かつ、最小の2の累乗数を返します。

もし、nextが0であれば、next2Powはnumより小さく、かつ、最大の2の累乗数を返します。 nextがm > 1の場合には、next2Pow(num, m)は、next2Pow(num) << (m - 1)を返します。

size_t
nextPow2
(
T
)
(
T num
,
size_t next = 1
)
if (
isIntegral!T
)

Examples

assert(nextPow2(10) == 16);           // デフォルトではnext = 1なので、次の2の累乗数を返す
assert(nextPow2(10, 0) == 8);         // next = 0だと、前の2の累乗数を返す
assert(nextPow2(10, 2) == 32);        // next = 2なので、next2Pow(10) << 1を返す。

Meta