in java/src/main/java/com/epam/deltix/zstd/ZstdFrameDecompressor.java [662:690]
private void executeLastSequence(final ByteBuffer outputBase, int output,
final int literalOutputLimit, final int matchOutputLimit, final int fastOutputLimit, int literalInput, int matchAddress) {
// copy literals
if (output < fastOutputLimit) {
// wild copy
do {
outputBase.putLong(output, literalsBase.getLong(literalInput));
output += SIZE_OF_LONG;
literalInput += SIZE_OF_LONG;
}
while (output < fastOutputLimit);
literalInput -= output - fastOutputLimit;
output = fastOutputLimit;
}
while (output < literalOutputLimit) {
outputBase.put(output, literalsBase.get(literalInput));
output++;
literalInput++;
}
// copy match
while (output < matchOutputLimit) {
outputBase.put(output, outputBase.get(matchAddress));
output++;
matchAddress++;
}
}