@Override public DeltaPackedLongValues build() { finish(); pending = null; final PackedInts.Reader[] values = Arrays.copyOf(this.values, valuesOff); final long[] mins = Arrays.copyOf(this.mins, valuesOff); final long ramBytesUsed = DeltaPackedLongValues.BASE_RAM_BYTES_USED + RamUsageEstimator.sizeOf(values) + RamUsageEstimator.sizeOf(mins); return new DeltaPackedLongValues(pageShift, pageMask, values, mins, size, ramBytesUsed); }
@Override void grow(int newBlockCount) { super.grow(newBlockCount); ramBytesUsed -= RamUsageEstimator.sizeOf(averages); averages = Arrays.copyOf(averages, newBlockCount); ramBytesUsed += RamUsageEstimator.sizeOf(averages); }
@Override public DeltaPackedLongValues build() { finish(); pending = null; final PackedInts.Reader[] values = Arrays.copyOf(this.values, valuesOff); final long[] mins = Arrays.copyOf(this.mins, valuesOff); final long ramBytesUsed = DeltaPackedLongValues.BASE_RAM_BYTES_USED + RamUsageEstimator.sizeOf(values) + RamUsageEstimator.sizeOf(mins); return new DeltaPackedLongValues(pageShift, pageMask, values, mins, size, ramBytesUsed); }
@Override public DeltaPackedLongValues build() { finish(); pending = null; final PackedInts.Reader[] values = ArrayUtil.copyOfSubArray(this.values, 0, valuesOff); final long[] mins = ArrayUtil.copyOfSubArray(this.mins, 0, valuesOff); final long ramBytesUsed = DeltaPackedLongValues.BASE_RAM_BYTES_USED + RamUsageEstimator.sizeOf(values) + RamUsageEstimator.sizeOf(mins); return new DeltaPackedLongValues(pageShift, pageMask, values, mins, size, ramBytesUsed); }
@Override void grow(int newBlockCount) { super.grow(newBlockCount); ramBytesUsed -= RamUsageEstimator.sizeOf(averages); averages = ArrayUtil.growExact(averages, newBlockCount); ramBytesUsed += RamUsageEstimator.sizeOf(averages); }
/** Return a new {@link Builder} that will compress efficiently integers that * are close to each other. */ public static PackedLongValues.Builder deltaPackedBuilder(int pageSize, float acceptableOverheadRatio) { return new DeltaPackedLongValues.Builder(pageSize, acceptableOverheadRatio); }
@Override void grow(int newBlockCount) { super.grow(newBlockCount); ramBytesUsed -= RamUsageEstimator.sizeOf(averages); averages = Arrays.copyOf(averages, newBlockCount); ramBytesUsed += RamUsageEstimator.sizeOf(averages); }
/** Return a new {@link Builder} that will compress efficiently integers that * are close to each other. */ public static PackedLongValues.Builder deltaPackedBuilder(int pageSize, float acceptableOverheadRatio) { return new DeltaPackedLongValues.Builder(pageSize, acceptableOverheadRatio); }
@Override void pack(long[] values, int numValues, int block, float acceptableOverheadRatio) { final float average = numValues == 1 ? 0 : (float) (values[numValues - 1] - values[0]) / (numValues - 1); for (int i = 0; i < numValues; ++i) { values[i] -= expected(0, average, i); } super.pack(values, numValues, block, acceptableOverheadRatio); averages[block] = average; }
@Override void pack(long[] values, int numValues, int block, float acceptableOverheadRatio) { final float average = numValues == 1 ? 0 : (float) (values[numValues - 1] - values[0]) / (numValues - 1); for (int i = 0; i < numValues; ++i) { values[i] -= expected(0, average, i); } super.pack(values, numValues, block, acceptableOverheadRatio); averages[block] = average; }
/** Return a new {@link Builder} that will compress efficiently integers that * are close to each other. */ public static PackedLongValues.Builder deltaPackedBuilder(int pageSize, float acceptableOverheadRatio) { return new DeltaPackedLongValues.Builder(pageSize, acceptableOverheadRatio); }
@Override void pack(long[] values, int numValues, int block, float acceptableOverheadRatio) { final float average = numValues == 1 ? 0 : (float) (values[numValues - 1] - values[0]) / (numValues - 1); for (int i = 0; i < numValues; ++i) { values[i] -= expected(0, average, i); } super.pack(values, numValues, block, acceptableOverheadRatio); averages[block] = average; }
@Override void pack(long[] values, int numValues, int block, float acceptableOverheadRatio) { final float average = numValues == 1 ? 0 : (float) (values[numValues - 1] - values[0]) / (numValues - 1); for (int i = 0; i < numValues; ++i) { values[i] -= expected(0, average, i); } super.pack(values, numValues, block, acceptableOverheadRatio); averages[block] = average; }
/** Return a new {@link Builder} that will compress efficiently integers that * are close to each other. */ public static PackedLongValues.Builder deltaPackedBuilder(int pageSize, float acceptableOverheadRatio) { return new DeltaPackedLongValues.Builder(pageSize, acceptableOverheadRatio); }
@Override void grow(int newBlockCount) { super.grow(newBlockCount); ramBytesUsed -= RamUsageEstimator.sizeOf(averages); averages = ArrayUtil.growExact(averages, newBlockCount); ramBytesUsed += RamUsageEstimator.sizeOf(averages); }
@Override public DeltaPackedLongValues build() { finish(); pending = null; final PackedInts.Reader[] values = ArrayUtil.copyOfSubArray(this.values, 0, valuesOff); final long[] mins = ArrayUtil.copyOfSubArray(this.mins, 0, valuesOff); final long ramBytesUsed = DeltaPackedLongValues.BASE_RAM_BYTES_USED + RamUsageEstimator.sizeOf(values) + RamUsageEstimator.sizeOf(mins); return new DeltaPackedLongValues(pageShift, pageMask, values, mins, size, ramBytesUsed); }