Lines Matching refs:numBits
393 public void writeBits(long bits, int numBits) throws IOException {
396 if (numBits < 0 || numBits > 64) {
397 throw new IllegalArgumentException("Bad value for numBits!");
399 if (numBits == 0) {
416 if (numBits + offset < 8) {
418 int shift = 8 - (offset+numBits);
419 int mask = -1 >>> (32 - numBits);
424 bitOffset = offset + numBits;
425 numBits = 0; // Signal that we are done
427 // Fill out the partial byte and reduce numBits
431 partialByte |= ((bits >> (numBits - num)) & mask);
435 numBits -= num;
440 if (numBits > 7) {
441 int extra = numBits % 8;
442 for (int numBytes = numBits / 8; numBytes > 0; numBytes--) {
449 numBits = extra;
455 if (numBits != 0) {
469 int shift = 8 - numBits;
470 int mask = -1 >>> (32 - numBits);
476 bitOffset = numBits;