summaryrefslogtreecommitdiffstats
path: root/lib/lz4opt.h
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2017-10-20 18:24:56 (GMT)
committerYann Collet <cyan@fb.com>2017-10-20 18:24:56 (GMT)
commitc058753393063b4ec72de996b103327710f2c36b (patch)
tree9b9a209a0f0ef820bc9981a1e124cfb56e6cb854 /lib/lz4opt.h
parent7bb0a617eeefacbbda15a0966319bed02ed68ac9 (diff)
downloadlz4-c058753393063b4ec72de996b103327710f2c36b.zip
lz4-c058753393063b4ec72de996b103327710f2c36b.tar.gz
lz4-c058753393063b4ec72de996b103327710f2c36b.tar.bz2
refactor variable matchnum
separate initial and iterative search renamed nb_matches
Diffstat (limited to 'lib/lz4opt.h')
-rw-r--r--lib/lz4opt.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/lz4opt.h b/lib/lz4opt.h
index f8eb50e..c7c95a8 100644
--- a/lib/lz4opt.h
+++ b/lib/lz4opt.h
@@ -197,7 +197,7 @@ LZ4_FORCE_INLINE int LZ4HC_BinTree_GetAllMatches (
#define SET_PRICE(pos, ml, offset, ll, cost) \
{ \
- while (last_match_pos < pos) { opt[last_match_pos+1].price = 1<<30; last_match_pos++; } \
+ while (last_match_pos < pos) { opt[last_match_pos+1].price = 1<<30; last_match_pos++; } \
opt[pos].mlen = (int)ml; \
opt[pos].off = (int)offset; \
opt[pos].litlen = (int)ll; \
@@ -237,16 +237,15 @@ static int LZ4HC_compress_optimal (
while (ip < mflimit) {
size_t const llen = ip - anchor;
size_t last_match_pos = 0;
- size_t match_num, cur, best_mlen, best_off;
- memset(opt, 0, sizeof(LZ4HC_optimal_t)); /* memset only the first one */
+ size_t cur, best_mlen, best_off;
- match_num = LZ4HC_BinTree_GetAllMatches(ctx, ip, matchlimit, MINMATCH-1, matches, fullUpdate);
- if (!match_num) { ip++; continue; }
+ size_t const nb_matches_initial = LZ4HC_BinTree_GetAllMatches(ctx, ip, matchlimit, MINMATCH-1, matches, fullUpdate);
+ if (!nb_matches_initial) { ip++; continue; }
- if ((size_t)matches[match_num-1].len > sufficient_len) {
+ if ((size_t)matches[nb_matches_initial-1].len > sufficient_len) {
/* good enough solution : immediate encoding */
- int const firstML = (int)matches[match_num-1].len;
- const BYTE* const matchPos = ip - matches[match_num-1].off;
+ int const firstML = (int)matches[nb_matches_initial-1].len;
+ const BYTE* const matchPos = ip - matches[nb_matches_initial-1].off;
if ( LZ4HC_encodeSequence(&ip, &op, &anchor, (int)firstML, matchPos, limit, oend) ) /* updates ip, op and anchor */
return 0; /* error */
continue;
@@ -265,7 +264,7 @@ static int LZ4HC_compress_optimal (
} }
/* set prices using matches found for rPos = 0 */
{ size_t matchNb;
- for (matchNb = 0; matchNb < match_num; matchNb++) {
+ for (matchNb = 0; matchNb < nb_matches_initial; matchNb++) {
size_t mlen = (matchNb>0) ? (size_t)matches[matchNb-1].len+1 : MINMATCH;
best_mlen = matches[matchNb].len; /* necessarily < sufficient_len < LZ4_OPT_NUM */
for ( ; mlen <= best_mlen ; mlen++) {
@@ -277,6 +276,7 @@ static int LZ4HC_compress_optimal (
/* check further positions */
for (cur = 1; cur <= last_match_pos; cur++) {
const BYTE* const curPtr = ip + cur;
+ size_t nb_matches;
/* establish baseline price if cur is literal */
{ size_t price, litlen;
@@ -295,18 +295,18 @@ static int LZ4HC_compress_optimal (
if (cur == last_match_pos || curPtr >= mflimit) break;
- match_num = LZ4HC_BinTree_GetAllMatches(ctx, curPtr, matchlimit, MINMATCH-1, matches, fullUpdate);
- if ((match_num > 0) && (size_t)matches[match_num-1].len > sufficient_len) {
+ nb_matches = LZ4HC_BinTree_GetAllMatches(ctx, curPtr, matchlimit, MINMATCH-1, matches, fullUpdate);
+ if ((nb_matches > 0) && (size_t)matches[nb_matches-1].len > sufficient_len) {
/* immediate encoding */
- best_mlen = matches[match_num-1].len;
- best_off = matches[match_num-1].off;
+ best_mlen = matches[nb_matches-1].len;
+ best_off = matches[nb_matches-1].off;
last_match_pos = cur + 1;
goto encode;
}
/* set prices using matches at position = cur */
{ size_t matchNb;
- for (matchNb = 0; matchNb < match_num; matchNb++) {
+ for (matchNb = 0; matchNb < nb_matches; matchNb++) {
size_t ml = (matchNb>0) ? (size_t)matches[matchNb-1].len+1 : MINMATCH;
best_mlen = (cur + matches[matchNb].len < LZ4_OPT_NUM) ?
(size_t)matches[matchNb].len : LZ4_OPT_NUM - cur;