ParallelPostingsArray newInstance(int size) { return new ParallelPostingsArray(size); }
final ParallelPostingsArray grow() { int newSize = ArrayUtil.oversize(size + 1, bytesPerPosting()); ParallelPostingsArray newArray = newInstance(newSize); copyTo(newArray, size); return newArray; }
@Override public int[] grow() { ParallelPostingsArray postingsArray = perField.postingsArray; final int oldSize = perField.postingsArray.size; postingsArray = perField.postingsArray = postingsArray.grow(); perField.newPostingsArray(); bytesUsed.addAndGet((postingsArray.bytesPerPosting() * (postingsArray.size - oldSize))); return postingsArray.textStarts; }
@Override int bytesPerPosting() { return super.bytesPerPosting() + 3 * Integer.BYTES; } }
@Override void copyTo(ParallelPostingsArray toArray, int numToCopy) { assert toArray instanceof TermVectorsPostingsArray; TermVectorsPostingsArray to = (TermVectorsPostingsArray) toArray; super.copyTo(toArray, numToCopy); System.arraycopy(freqs, 0, to.freqs, 0, size); System.arraycopy(lastOffsets, 0, to.lastOffsets, 0, size); System.arraycopy(lastPositions, 0, to.lastPositions, 0, size); }
@Override public int[] clear() { if (perField.postingsArray != null) { bytesUsed.addAndGet(-(perField.postingsArray.size * perField.postingsArray.bytesPerPosting())); perField.postingsArray = null; perField.newPostingsArray(); } return null; }
@Override void copyTo(ParallelPostingsArray toArray, int numToCopy) { assert toArray instanceof FreqProxPostingsArray; FreqProxPostingsArray to = (FreqProxPostingsArray) toArray; super.copyTo(toArray, numToCopy); System.arraycopy(lastDocIDs, 0, to.lastDocIDs, 0, numToCopy); System.arraycopy(lastDocCodes, 0, to.lastDocCodes, 0, numToCopy); if (lastPositions != null) { assert to.lastPositions != null; System.arraycopy(lastPositions, 0, to.lastPositions, 0, numToCopy); } if (lastOffsets != null) { assert to.lastOffsets != null; System.arraycopy(lastOffsets, 0, to.lastOffsets, 0, numToCopy); } if (termFreqs != null) { assert to.termFreqs != null; System.arraycopy(termFreqs, 0, to.termFreqs, 0, numToCopy); } }
final ParallelPostingsArray grow() { int newSize = ArrayUtil.oversize(size + 1, bytesPerPosting()); ParallelPostingsArray newArray = newInstance(newSize); copyTo(newArray, size); return newArray; }
@Override public int[] grow() { ParallelPostingsArray postingsArray = perField.postingsArray; final int oldSize = perField.postingsArray.size; postingsArray = perField.postingsArray = postingsArray.grow(); perField.newPostingsArray(); bytesUsed.addAndGet((postingsArray.bytesPerPosting() * (postingsArray.size - oldSize))); return postingsArray.textStarts; }
@Override public int[] init() { if (perField.postingsArray == null) { perField.postingsArray = perField.createPostingsArray(2); perField.newPostingsArray(); bytesUsed.addAndGet(perField.postingsArray.size * perField.postingsArray.bytesPerPosting()); } return perField.postingsArray.textStarts; }
@Override void copyTo(ParallelPostingsArray toArray, int numToCopy) { assert toArray instanceof TermVectorsPostingsArray; TermVectorsPostingsArray to = (TermVectorsPostingsArray) toArray; super.copyTo(toArray, numToCopy); System.arraycopy(freqs, 0, to.freqs, 0, size); System.arraycopy(lastOffsets, 0, to.lastOffsets, 0, size); System.arraycopy(lastPositions, 0, to.lastPositions, 0, size); }
ParallelPostingsArray newInstance(int size) { return new ParallelPostingsArray(size); }
final ParallelPostingsArray grow() { int newSize = ArrayUtil.oversize(size + 1, bytesPerPosting()); ParallelPostingsArray newArray = newInstance(newSize); copyTo(newArray, size); return newArray; }
@Override public int[] grow() { ParallelPostingsArray postingsArray = perField.postingsArray; final int oldSize = perField.postingsArray.size; postingsArray = perField.postingsArray = postingsArray.grow(); perField.newPostingsArray(); bytesUsed.addAndGet((postingsArray.bytesPerPosting() * (postingsArray.size - oldSize))); return postingsArray.textStarts; }
@Override int bytesPerPosting() { return super.bytesPerPosting() + 3 * RamUsageEstimator.NUM_BYTES_INT; } }
@Override void copyTo(ParallelPostingsArray toArray, int numToCopy) { assert toArray instanceof TermVectorsPostingsArray; TermVectorsPostingsArray to = (TermVectorsPostingsArray) toArray; super.copyTo(toArray, numToCopy); System.arraycopy(freqs, 0, to.freqs, 0, size); System.arraycopy(lastOffsets, 0, to.lastOffsets, 0, size); System.arraycopy(lastPositions, 0, to.lastPositions, 0, size); }
ParallelPostingsArray newInstance(int size) { return new ParallelPostingsArray(size); }
final ParallelPostingsArray grow() { int newSize = ArrayUtil.oversize(size + 1, bytesPerPosting()); ParallelPostingsArray newArray = newInstance(newSize); copyTo(newArray, size); return newArray; }
@Override public int[] grow() { ParallelPostingsArray postingsArray = perField.postingsArray; final int oldSize = perField.postingsArray.size; postingsArray = perField.postingsArray = postingsArray.grow(); perField.newPostingsArray(); bytesUsed.addAndGet((postingsArray.bytesPerPosting() * (postingsArray.size - oldSize))); return postingsArray.textStarts; }
@Override int bytesPerPosting() { return super.bytesPerPosting() + 3 * Integer.BYTES; } }