ZSTD_btopt with 4 repcodes

This commit is contained in:
inikep
2016-03-18 16:10:35 +01:00
parent 1c1e6916e4
commit fade9b7ae3
4 changed files with 92 additions and 114 deletions
+6 -11
View File
@@ -1699,22 +1699,17 @@ _storeSequence:
rep[1] = rep[0];
rep[0] = offset - ZSTD_REP_MOVE;
#else
if (kSlotNew < 3)
rep[3] = rep[2];
if (kSlotNew < 2)
rep[2] = rep[1];
if (kSlotNew < 1)
rep[1] = rep[0];
if (kSlotNew < 3) rep[3] = rep[2];
if (kSlotNew < 2) rep[2] = rep[1];
if (kSlotNew < 1) rep[1] = rep[0];
rep[kSlotNew] = offset - ZSTD_REP_MOVE;
#endif
} else {
if (offset != 0) {
size_t temp = rep[offset];
if (offset != 1) {
if (offset == 3) rep[3] = rep[2];
rep[2] = rep[1];
}
rep[1] = rep[0];
if (offset > 2) rep[3] = rep[2];
if (offset > 1) rep[2] = rep[1];
if (offset > 0) rep[1] = rep[0];
rep[0] = temp;
}