summaryrefslogtreecommitdiff
path: root/archival/bz/compress.c
diff options
context:
space:
mode:
authorDenis Vlasenko2007-10-14 07:49:48 +0000
committerDenis Vlasenko2007-10-14 07:49:48 +0000
commit6a9154b6f649341870bc06e896d2fe7235a4aef9 (patch)
treeb80d1603d370838166ada58b42cd6e0b8c7c6970 /archival/bz/compress.c
parent3f5fdc7572d932f33f81029956b87230c9b05182 (diff)
downloadbusybox-6a9154b6f649341870bc06e896d2fe7235a4aef9.zip
busybox-6a9154b6f649341870bc06e896d2fe7235a4aef9.tar.gz
bzip2: eliminate some divisions
Diffstat (limited to 'archival/bz/compress.c')
-rw-r--r--archival/bz/compress.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/archival/bz/compress.c b/archival/bz/compress.c
index 3e2fbd8..724474e 100644
--- a/archival/bz/compress.c
+++ b/archival/bz/compress.c
@@ -186,7 +186,8 @@ void generateMTFValues(EState* s)
s->mtfFreq[BZ_RUNA]++;
}
if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
+ zPend = (uint32_t)(zPend - 2) / 2;
+ /* bbox: unsigned div is easier */
};
zPend = 0;
}
@@ -219,15 +220,18 @@ void generateMTFValues(EState* s)
zPend--;
while (1) {
if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
+ mtfv[wr] = BZ_RUNB;
+ wr++;
s->mtfFreq[BZ_RUNB]++;
} else {
- mtfv[wr] = BZ_RUNA; wr++;
+ mtfv[wr] = BZ_RUNA;
+ wr++;
s->mtfFreq[BZ_RUNA]++;
}
if (zPend < 2)
break;
- zPend = (zPend - 2) / 2;
+ zPend = (uint32_t)(zPend - 2) / 2;
+ /* bbox: unsigned div is easier */
};
zPend = 0;
}
@@ -288,7 +292,7 @@ void sendMTFValues(EState* s)
gs = 0;
while (nPart > 0) {
tFreq = remF / nPart;
- ge = gs-1;
+ ge = gs - 1;
aFreq = 0;
while (aFreq < tFreq && ge < alphaSize-1) {
ge++;
@@ -297,7 +301,7 @@ void sendMTFValues(EState* s)
if (ge > gs
&& nPart != nGroups && nPart != 1
- && ((nGroups - nPart) % 2 == 1)
+ && ((nGroups - nPart) % 2 == 1) /* bbox: can this be replaced by x & 1? */
) {
aFreq -= s->mtfFreq[ge];
ge--;
@@ -310,7 +314,7 @@ void sendMTFValues(EState* s)
s->len[nPart-1][v] = BZ_GREATER_ICOST;
nPart--;
- gs = ge+1;
+ gs = ge + 1;
remF -= aFreq;
}
}
@@ -414,7 +418,7 @@ void sendMTFValues(EState* s)
/*
* Increment the symbol frequencies for the selected table.
*/
-/* 1% faster compress. +800 bytes */
+/* 1% faster compress. +800 bytes */
#if CONFIG_BZIP2_FEATURE_SPEED >= 4
if (nGroups == 6 && 50 == ge-gs+1) {
/*--- fast track the common case ---*/