/**
* bit-twiddle v1.0.1
* @see https://github.com/mikolalysenko/bit-twiddle
*/
//Checks if a number is a power of two
export function isPow2(v) {
return !(v & (v - 1)) && (!!v);
}
//Rounds to next power of 2
export function nextPow2(v) {
v += v === 0;
--v;
v |= v >>> 1;
v |= v >>> 2;
v |= v >>> 4;
v |= v >>> 8;
v |= v >>> 16;
return v + 1;
}
//Computes log base 2 of v
/* eslint-disable */
export function log2 (v) {
let r, shift;
r = (v > 0xFFFF) << 4; v >>>= r;
shift = (v > 0xFF ) << 3; v >>>= shift; r |= shift;
shift = (v > 0xF ) << 2; v >>>= shift; r |= shift;
shift = (v > 0x3 ) << 1; v >>>= shift; r |= shift;
return r | (v >> 1);
}
/* eslint-enable */