app/BitSet.js
function _msb(word) {
  word |= word >> 1;
  word |= word >> 2;
  word |= word >> 4;
  word |= word >> 8;
  word |= word >> 16;
  word = (word >> 1) + 1;
  return multiplyDeBruijnBitPosition[(word * 0x077CB531) >>> 27];
}
function _msb(word) {
  word |= word >> 1;
  word |= word >> 2;
  word |= word >> 4;
  word |= word >> 8;
  word |= word >> 16;
  word = (word >> 1) + 1;
  return multiplyDeBruijnBitPosition[(word * 0x077CB531) >>> 27];
}
function _msb ( word ) { word |= word >> 1 ; word |= word >> 2 ; word |= word >> 4 ; word |= word >> 8 ; word |= word >> 16 ; word = ( word >> 1 ) + 1 ; return multiplyDeBruijnBitPosition [ ( word * 0x077CB531 ) >>> 27 ] ; }
Returns the least signifcant bit, or 0 if none set, so a prior check to see if the word > 0 is required
@param word the current array
@returns {number} the index of the most significant bit in the current array
@private
Returns the least signifcant bit or 0 if none set so a prior check to see if the word > 0 is required