/* RETURN VALUES: next smallest power of 2 number.  */
static s64 extRoundDown(s64 nb)
/* RETURN VALUES: next smallest power of 2 number.  */
static s64 extRoundDown(s64 nb)
{
	int i;
	u64 m, k;
	for (i = 0, m = (u64) 1 << 63; i < 64; i++, m >>= 1) {
		if (m & nb)
			break;
	}
	i = 63 - i;
	k = (u64) 1 << i;
	k = ((k - 1) & nb) ? k : k >> 1;
	return (k);
}