private void flushMiniBlock() { int numToWrite = Math.max(currentIndex, 8); ensureCapacity(8); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); if (currentIndex > 0) { int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); //pad int bytesRequired = ((Bytes.sizeInBytes(2, currentMaxBitwidth) * numToWrite)); ensureCapacity(bytesRequired); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } } currentMaxBitwidth = 0; currentIndex = 0; }
private void flushMiniBlock() { int numToWrite = Math.max(currentIndex, 8); ensureCapacity(8); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); if (currentIndex > 0) { int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); //pad int bytesRequired = ((Bytes.sizeInBytes(2, currentMaxBitwidth) * numToWrite)); ensureCapacity(bytesRequired); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } } currentMaxBitwidth = 0; currentIndex = 0; }
private void flushMiniBlock() { int numToWrite = Math.max(currentIndex, 8); ensureCapacity(8); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); if (currentIndex > 0) { int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); //pad int bytesRequired = ((Bytes.sizeInBytes(2, currentMaxBitwidth) * numToWrite)); ensureCapacity(bytesRequired); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } } currentMaxBitwidth = 0; currentIndex = 0; }
private void flushMiniBlock() { if (currentIndex == 0 || totalValueCount == 1) { return; } int currentMaxBitwidth = 1; for (int i = 0; i < currentIndex; i++) { int num = currentMiniBlock[i] - currentMinDelta; currentMiniBlock[i] = num; currentMaxBitwidth = Math.max(currentMaxBitwidth, (32 - Integer.numberOfLeadingZeros(num))); } int numToWrite = Math.max(currentIndex, 8); ensureCapacity(12); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMinDelta, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); ensureCapacity(Bytes.sizeInBytes(numToWrite, currentMaxBitwidth)); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } currentIndex = 0; currentMinDelta = Integer.MAX_VALUE; prevValue = firstValue; }
private void flushMiniBlock() { if (currentIndex == 0 || totalValueCount == 1) { return; } int currentMaxBitwidth = 1; for (int i = 0; i < currentIndex; i++) { int num = currentMiniBlock[i] - currentMinDelta; currentMiniBlock[i] = num; currentMaxBitwidth = Math.max(currentMaxBitwidth, (32 - Integer.numberOfLeadingZeros(num))); } int numToWrite = Math.max(currentIndex, 8); ensureCapacity(12); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMinDelta, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); ensureCapacity(Bytes.sizeInBytes(numToWrite, currentMaxBitwidth)); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } currentIndex = 0; currentMinDelta = Integer.MAX_VALUE; prevValue = firstValue; }
private void flushMiniBlock() { if (currentIndex == 0 || totalValueCount == 1) { return; } int currentMaxBitwidth = 1; for (int i = 0; i < currentIndex; i++) { int num = currentMiniBlock[i] - currentMinDelta; currentMiniBlock[i] = num; currentMaxBitwidth = Math.max(currentMaxBitwidth, (32 - Integer.numberOfLeadingZeros(num))); } int numToWrite = Math.max(currentIndex, 8); ensureCapacity(12); Bytes.writeInt(currentMaxBitwidth, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentMinDelta, buffer, getPositionAndIncrement(4)); Bytes.writeInt(currentIndex, buffer, getPositionAndIncrement(4)); int strideSize = Bytes.sizeInBytes(8, currentMaxBitwidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(currentMaxBitwidth); ensureCapacity(Bytes.sizeInBytes(numToWrite, currentMaxBitwidth)); for (int i = 0; i < numToWrite; i += 8) { packer.pack8Values(currentMiniBlock, i, buffer, getPositionAndIncrement(strideSize)); } currentIndex = 0; currentMinDelta = Integer.MAX_VALUE; prevValue = firstValue; }
private void loadNextMiniBlock() { currentIndex = 0; require(8); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); if (numValuesToRead > 0) { int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), currentMiniBlock, i); } } }
private void loadNextMiniBlock() { currentIndex = 0; require(8); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); if (numValuesToRead > 0) { int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), currentMiniBlock, i); } } }
private void loadNextMiniBlock() { currentIndex = 0; require(8); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); if (numValuesToRead > 0) { int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), currentMiniBlock, i); } } }
private void loadNextMiniBlock() { currentIndex = 0; int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); int minDelta = Bytes.readInt(buffer, getAndIncrementPosition(4)); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); totalValueCount -= numValuesToRead; int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), intBuffer, i); } for (int i = 0; i < numValuesToRead; i++) { intBuffer[i] += ((i == 0) ? firstValue : intBuffer[i - 1]) + minDelta; } }
private void loadNextMiniBlock() { currentIndex = 0; int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); int minDelta = Bytes.readInt(buffer, getAndIncrementPosition(4)); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); totalValueCount -= numValuesToRead; int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), intBuffer, i); } for (int i = 0; i < numValuesToRead; i++) { intBuffer[i] += ((i == 0) ? firstValue : intBuffer[i - 1]) + minDelta; } }
private void loadNextMiniBlock() { currentIndex = 0; int bitWidth = Bytes.readInt(buffer, getAndIncrementPosition(4)); int minDelta = Bytes.readInt(buffer, getAndIncrementPosition(4)); int numValuesToRead = Bytes.readInt(buffer, getAndIncrementPosition(4)); totalValueCount -= numValuesToRead; int strideSize = Bytes.sizeInBytes(8, bitWidth); Int32BytePacker packer = Packers.LITTLE_ENDIAN.packer32(bitWidth); for (int i = 0; i < numValuesToRead; i += 8) { packer.unpack8Values(buffer, getAndIncrementPosition(strideSize), intBuffer, i); } for (int i = 0; i < numValuesToRead; i++) { intBuffer[i] += ((i == 0) ? firstValue : intBuffer[i - 1]) + minDelta; } }