On 10/6/12 4:57 PM, Dmitry Olshansky wrote:
On 07-Oct-12 00:54, Dmitry Olshansky wrote:
On 07-Oct-12 00:48, ref2401 wrote:
is there any Phobos function to calculate the next power of 2 of the
specified number?

No though it's reinvented in a couple of places I think.

Anyway this should work for unsigned numbers:

import core.bitop;
T nextPow2(T)(T x){
return x == 0 ? 1 : 1^^(bsr(x)+1);
}

Yikes, 1<<(bsr(x)+1) or 2 ^^ (bsr(x)+1) ...
still haven't got used to 2^^x notation compared to shifts.

That's right, apologies for my buggy suggestion and my suggestion of a buggy suggestion :o).

Andrei

Reply via email to