@Override public Pair<A,B> read(DataInput in) throws IOException { A output1 = outputs1.read(in); B output2 = outputs2.read(in); return newPair(output1, output2); }
@Override public Pair<A,B> subtract(Pair<A,B> output, Pair<A,B> inc) { assert valid(output); assert valid(inc); return newPair(outputs1.subtract(output.output1, inc.output1), outputs2.subtract(output.output2, inc.output2)); }
@Override public Pair<A,B> common(Pair<A,B> pair1, Pair<A,B> pair2) { assert valid(pair1); assert valid(pair2); return newPair(outputs1.common(pair1.output1, pair2.output1), outputs2.common(pair1.output2, pair2.output2)); }
@Override public Pair<A,B> add(Pair<A,B> prefix, Pair<A,B> output) { assert valid(prefix); assert valid(output); return newPair(outputs1.add(prefix.output1, output.output1), outputs2.add(prefix.output2, output.output2)); }
public void finishTerm(long defaultWeight) throws IOException { ArrayUtil.timSort(surfaceFormsAndPayload, 0, count); int deduplicator = 0; analyzed.append((byte) 0); analyzed.setLength(analyzed.length() + 1); analyzed.grow(analyzed.length()); for (int i = 0; i < count; i++) { analyzed.setByteAt(analyzed.length() - 1, (byte) deduplicator++); Util.toIntsRef(analyzed.get(), scratchInts); SurfaceFormAndPayload candiate = surfaceFormsAndPayload[i]; long cost = candiate.weight == -1 ? encodeWeight(Math.min(Integer.MAX_VALUE, defaultWeight)) : candiate.weight; builder.add(scratchInts.get(), outputs.newPair(cost, candiate.payload)); } seenSurfaceForms.clear(); count = 0; }
builder.add(scratchInts.get(), outputs.newPair(cost, BytesRef.deepCopyOf(surface))); } else { int payloadOffset = input.getPosition() + surface.length; System.arraycopy(bytes.bytes, payloadOffset, br.bytes, surface.length+1, payloadLength); br.length = br.bytes.length; builder.add(scratchInts.get(), outputs.newPair(cost, br));
@Override public Pair<A,B> read(DataInput in) throws IOException { A output1 = outputs1.read(in); B output2 = outputs2.read(in); return newPair(output1, output2); }
@Override public Pair<A,B> read(DataInput in) throws IOException { A output1 = outputs1.read(in); B output2 = outputs2.read(in); return newPair(output1, output2); }
@Override public Pair<A,B> read(DataInput in) throws IOException { A output1 = outputs1.read(in); B output2 = outputs2.read(in); return newPair(output1, output2); }
@Override public Pair<A,B> subtract(Pair<A,B> output, Pair<A,B> inc) { assert valid(output); assert valid(inc); return newPair(outputs1.subtract(output.output1, inc.output1), outputs2.subtract(output.output2, inc.output2)); }
@Override public Pair<A,B> common(Pair<A,B> pair1, Pair<A,B> pair2) { assert valid(pair1); assert valid(pair2); return newPair(outputs1.common(pair1.output1, pair2.output1), outputs2.common(pair1.output2, pair2.output2)); }
@Override public Pair<A,B> subtract(Pair<A,B> output, Pair<A,B> inc) { assert valid(output); assert valid(inc); return newPair(outputs1.subtract(output.output1, inc.output1), outputs2.subtract(output.output2, inc.output2)); }
@Override public Pair<A,B> add(Pair<A,B> prefix, Pair<A,B> output) { assert valid(prefix); assert valid(output); return newPair(outputs1.add(prefix.output1, output.output1), outputs2.add(prefix.output2, output.output2)); }
@Override public Pair<A,B> common(Pair<A,B> pair1, Pair<A,B> pair2) { assert valid(pair1); assert valid(pair2); return newPair(outputs1.common(pair1.output1, pair2.output1), outputs2.common(pair1.output2, pair2.output2)); }
@Override public Pair<A,B> add(Pair<A,B> prefix, Pair<A,B> output) { assert valid(prefix); assert valid(output); return newPair(outputs1.add(prefix.output1, output.output1), outputs2.add(prefix.output2, output.output2)); }
@Override public Pair<A,B> common(Pair<A,B> pair1, Pair<A,B> pair2) { assert valid(pair1); assert valid(pair2); return newPair(outputs1.common(pair1.output1, pair2.output1), outputs2.common(pair1.output2, pair2.output2)); }
@Override public Pair<A,B> add(Pair<A,B> prefix, Pair<A,B> output) { assert valid(prefix); assert valid(output); return newPair(outputs1.add(prefix.output1, output.output1), outputs2.add(prefix.output2, output.output2)); }
@Override public Pair<A,B> subtract(Pair<A,B> output, Pair<A,B> inc) { assert valid(output); assert valid(inc); return newPair(outputs1.subtract(output.output1, inc.output1), outputs2.subtract(output.output2, inc.output2)); }
public void finishTerm(long defaultWeight) throws IOException { ArrayUtil.timSort(surfaceFormsAndPayload, 0, count); int deduplicator = 0; analyzed.append((byte) 0); analyzed.setLength(analyzed.length() + 1); analyzed.grow(analyzed.length()); for (int i = 0; i < count; i++) { analyzed.setByteAt(analyzed.length() - 1, (byte) deduplicator++); Util.toIntsRef(analyzed.get(), scratchInts); SurfaceFormAndPayload candiate = surfaceFormsAndPayload[i]; long cost = candiate.weight == -1 ? encodeWeight(Math.min(Integer.MAX_VALUE, defaultWeight)) : candiate.weight; builder.add(scratchInts.get(), outputs.newPair(cost, candiate.payload)); } seenSurfaceForms.clear(); count = 0; }
public void finishTerm(long defaultWeight) throws IOException { ArrayUtil.timSort(surfaceFormsAndPayload, 0, count); int deduplicator = 0; analyzed.append((byte) 0); analyzed.setLength(analyzed.length() + 1); analyzed.grow(analyzed.length()); for (int i = 0; i < count; i++) { analyzed.setByteAt(analyzed.length() - 1, (byte) deduplicator++); Util.toIntsRef(analyzed.get(), scratchInts); SurfaceFormAndPayload candiate = surfaceFormsAndPayload[i]; long cost = candiate.weight == -1 ? encodeWeight(Math.min(Integer.MAX_VALUE, defaultWeight)) : candiate.weight; builder.add(scratchInts.get(), outputs.newPair(cost, candiate.payload)); } seenSurfaceForms.clear(); count = 0; }