public static void writeIntToStream(int value, OutputStream outputStream) throws IOException { byte[] arr = new byte[4]; writeInt(value, arr, 0); outputStream.write(arr); }
public void writeInt(int value) { ensureCapacity(4); Bytes.writeInt(value, buffer, getPositionAndIncrement(4)); }
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 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; }