@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
17 lines (15 loc) • 509 B
JavaScript
/**
* Reverses order of bits in an unsigned 32bit integer
* @example 1110 would become 0111
* @param {number} input
* @returns {number}
*/
export function reverse_bits_uint32(input) {
let x = input;
x = ((x << 16) | (x >>> 16))
x = ((x & 0x55555555) << 1) | ((x & 0xAAAAAAAA) >>> 1)
x = ((x & 0x33333333) << 2) | ((x & 0xCCCCCCCC) >>> 2)
x = ((x & 0x0F0F0F0F) << 4) | ((x & 0xF0F0F0F0) >>> 4)
x = ((x & 0x00FF00FF) << 8) | ((x & 0xFF00FF00) >>> 8)
return x
}