@Override public LongsRef next(int count) throws IOException { assert nextValues.length >= 0; assert count > 0; assert nextValues.offset + nextValues.length <= nextValues.longs.length; nextValues.offset += nextValues.length; final int remaining = valueCount - position - 1; if (remaining <= 0) { throw new EOFException(); } count = Math.min(remaining, count); if (nextValues.offset == nextValues.longs.length) { final long remainingBlocks = format.byteCount(packedIntsVersion, remaining, bitsPerValue); final int blocksToRead = (int) Math.min(remainingBlocks, nextBlocks.length); in.readBytes(nextBlocks, 0, blocksToRead); if (blocksToRead < nextBlocks.length) { Arrays.fill(nextBlocks, blocksToRead, nextBlocks.length, (byte) 0); } bulkOperation.decode(nextBlocks, 0, nextValues.longs, 0, iterations); nextValues.offset = 0; } nextValues.length = Math.min(nextValues.longs.length - nextValues.offset, count); position += nextValues.length; return nextValues; }
@Override public LongsRef next(int count) throws IOException { assert nextValues.length >= 0; assert count > 0; assert nextValues.offset + nextValues.length <= nextValues.longs.length; nextValues.offset += nextValues.length; final int remaining = valueCount - position - 1; if (remaining <= 0) { throw new EOFException(); } count = Math.min(remaining, count); if (nextValues.offset == nextValues.longs.length) { final long remainingBlocks = format.byteCount(packedIntsVersion, remaining, bitsPerValue); final int blocksToRead = (int) Math.min(remainingBlocks, nextBlocks.length); in.readBytes(nextBlocks, 0, blocksToRead); if (blocksToRead < nextBlocks.length) { Arrays.fill(nextBlocks, blocksToRead, nextBlocks.length, (byte) 0); } bulkOperation.decode(nextBlocks, 0, nextValues.longs, 0, iterations); nextValues.offset = 0; } nextValues.length = Math.min(nextValues.longs.length - nextValues.offset, count); position += nextValues.length; return nextValues; }
@Override public LongsRef next(int count) throws IOException { assert nextValues.length >= 0; assert count > 0; assert nextValues.offset + nextValues.length <= nextValues.longs.length; nextValues.offset += nextValues.length; final int remaining = valueCount - position - 1; if (remaining <= 0) { throw new EOFException(); } count = Math.min(remaining, count); if (nextValues.offset == nextValues.longs.length) { final long remainingBlocks = format.byteCount(packedIntsVersion, remaining, bitsPerValue); final int blocksToRead = (int) Math.min(remainingBlocks, nextBlocks.length); in.readBytes(nextBlocks, 0, blocksToRead); if (blocksToRead < nextBlocks.length) { Arrays.fill(nextBlocks, blocksToRead, nextBlocks.length, (byte) 0); } bulkOperation.decode(nextBlocks, 0, nextValues.longs, 0, iterations); nextValues.offset = 0; } nextValues.length = Math.min(nextValues.longs.length - nextValues.offset, count); position += nextValues.length; return nextValues; }
@Override public LongsRef next(int count) throws IOException { assert nextValues.length >= 0; assert count > 0; assert nextValues.offset + nextValues.length <= nextValues.longs.length; nextValues.offset += nextValues.length; final int remaining = valueCount - position - 1; if (remaining <= 0) { throw new EOFException(); } count = Math.min(remaining, count); if (nextValues.offset == nextValues.longs.length) { final long remainingBlocks = format.byteCount(packedIntsVersion, remaining, bitsPerValue); final int blocksToRead = (int) Math.min(remainingBlocks, nextBlocks.length); in.readBytes(nextBlocks, 0, blocksToRead); if (blocksToRead < nextBlocks.length) { Arrays.fill(nextBlocks, blocksToRead, nextBlocks.length, (byte) 0); } bulkOperation.decode(nextBlocks, 0, nextValues.longs, 0, iterations); nextValues.offset = 0; } nextValues.length = Math.min(nextValues.longs.length - nextValues.offset, count); position += nextValues.length; return nextValues; }