bitChunk method

int bitChunk(
  1. int left,
  2. int size
)

Returns an int containining bits exclusive of the last bit.

The result is left-padded with 0's.

The current int instance is treated as bits of an unknown length.

Implementation

int bitChunk(int left, int size) {
  if (left < 0) {
    throw RangeError.value(left, 'left', 'Out of range. Must be > 0.');
  } else if (size < 1) {
    throw RangeError.value(size, 'size', 'Out of range. Must be >= 1.');
  } else if (left - size < -1) {
    throw RangeError.value(left - size, 'left - size', 'Expected >= -1');
  }
  if (_usingJSNum && left > _maxSmiBits) {
    return bitChunkLong(left, size);
  } else {
    return (this >> (left + 1 - size)) & ~(~0 << size);
  }
}