Skip to content

Commit 79f23ac

Browse files
committed
Some code optimization
1 parent 48a5555 commit 79f23ac

File tree

8 files changed

+25
-31
lines changed

8 files changed

+25
-31
lines changed

axissums

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
5e2a6182f5455d95869a16753c56079eef9775e1 ./LICENSE
22
09112e52227f0182675725568c005221164cd671 ./README.md
33
547331b6beccf7bd63231084b8fa85db7202da80 ./makefile
4-
3e3cd7373c753ecd539d804496f65e60e176c0cf ./bin/axis
5-
ef4f6a0a0e54f58a54d1164813f9eba6a3859d02 ./bin/axis.exe
4+
012e972b521104e23f542a2aee2bae64e4f50800 ./bin/axis
5+
363e159d2c408fae781dbcdac411063549f01179 ./bin/axis.exe
66
ffd10c35dad3e3cedac3969b7c77153084e12e51 ./bin/axisgui.py
77
20bbf8559dfdc191399c4b80a07ab28fe85d1d9f ./src/archive.cc
88
681b5f03eff93283c4a3a2bef493bb61961d3a8e ./src/archive.h
@@ -16,7 +16,7 @@ c401f18709e9ba1200f7be24e722197147735369 ./src/axislogo.svg
1616
ac28702e2fc0df8d7adee5d33a75d81b32fbfbd4 ./src/axisum.h
1717
99e08b3d63bc04321940cb164ea851530a4dbd03 ./src/bnode.cc
1818
66872236291e1a931acbd9adeeb496d18c61ddcb ./src/bnode.h
19-
8bd610a7a14055b67f8398b13e64d5e9936d0478 ./src/build.inc
19+
8c68ef55a14055b68016775f3df6c47793ffe326 ./src/build.inc
2020
4d94b873542e3d87b318cf24f2c15dd226b2434d ./src/buildinc
2121
9f1cd4c3b54f4c7bfd6c350067a99977a86a7d32 ./src/canonicalize.cc
2222
6d06c63018cf30c1ca1b78d6a33dde98aedfe388 ./src/canonicalize.h
@@ -51,7 +51,7 @@ e3b60e4feb6a99f12af95e078bbc8b7f603fba36 ./src/langdata.py
5151
c95f3e2a22128e7e83108e5e52f735d9542598c9 ./src/makefile.mk
5252
db1f0474200d1ff94e42a862cb8e9c637b2189dc ./src/mdirs.cc
5353
2abbe0769065cbc81448baca09d6d30960862e06 ./src/mdirs.h
54-
abeda236e2a8893b50b8735d1a22617a901bc092 ./src/packer.cc
54+
632b074d1dddcc5162b8e4c9bed1d7ec08d376a2 ./src/packer.cc
5555
e1ef1016c72be12503e29fa5f75469bbd9c2a7a7 ./src/packer.h
5656
56a1e17ff2d6fbd94daabf810234c253490d870b ./src/permutation.cc
5757
fae079803baac75cbf6154a3f536628310f7e768 ./src/permutation.h
@@ -65,5 +65,5 @@ e8408d7808d4535e25ee9d55ac1e99ae350fdcb3 ./src/timebits.h
6565
ef3526c8993eb84cb42bbd30b4b4d897aa595d56 ./src/translate.py
6666
538872498e61b87cf08aa7265e1506648f35bde2 ./src/vars.cc
6767
afbd6daec11670aca86a20b675e56651cf6ec33a ./src/vars.h
68-
4d078440c13a35cfc1667f4aed2c83d1524c49fa ./src/version.h
69-
98376c7cc3679906c2d7563b13ed618a235ae7d1 ./src/version.inc
68+
468f6b7b91d6678f0098367d6bf22c9ac1438701 ./src/version.h
69+
98376c7cc36799062ede8c730ee92195a1f87c7c ./src/version.inc

bin/axis

0 Bytes
Binary file not shown.

bin/axis.exe

0 Bytes
Binary file not shown.

sha1sums

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
18fb27c715ae190e4a3efc51ab41d66ec3448cc3 *./bin/axis
2-
50b164ccf0aa77875db9523287041bc572e6936f *./bin/axis.exe
1+
4b6cce5e925db6174d0ba604904f6f16d2a6a8d0 *./bin/axis
2+
047c05479b23b15af1dbf948c21c03bc18c6f653 *./bin/axis.exe
33
6d8f7d55f6243c2b43f0fb64ad22523bb271a6c8 *./bin/axisgui.py
44
04a02a05b856af499c7e12a4ca54b192f6ee8b1c *./LICENSE
55
f4b7439d3196b6ac2ecc57930853e8293736ce22 *./makefile
@@ -16,7 +16,7 @@ ab1f44390543c26b49b94eba1eb736b4cdc8702c *./src/axismain.cc
1616
4a5d5ae6faa04225a35aa5751b290570a48809fb *./src/axisum.h
1717
78882afd798f90d581c75347ebb9bfc1264dcd1c *./src/bnode.cc
1818
da07eb161d5606ad1db49cd6e027b0fb095f7f30 *./src/bnode.h
19-
3af4cdea7f566687c202189ca00af2dc2834a8ef *./src/build.inc
19+
7635d0f69168b9065a7a679b0f73f2d0eb4933f1 *./src/build.inc
2020
01d7ae4d64aac4aa3a7cb5a34e5dd008b95058f0 *./src/buildinc
2121
2a4ba2232e37cde6ccf4d85c0429bdb90081a687 *./src/canonicalize.cc
2222
d3cdb3d4423c1dc67367029ba7d6c73f3d332eee *./src/canonicalize.h
@@ -51,7 +51,7 @@ a948a84493f5dc355b678e79b9008d7094ff85c1 *./src/hash.h
5151
fcfe84ba2f191ef654d5cb65a99e92947f4e8ab2 *./src/makefile.mk
5252
c139da5ddf1c747eee44e5aafee6eb312af3e29e *./src/mdirs.cc
5353
7e2e741f8abec81de2f5372bb36963c67365267f *./src/mdirs.h
54-
759ab84c00ebb17754e5532c0844f8a809e7a952 *./src/packer.cc
54+
dbcdc351c4159d217288f4162c854d1e0c18f8e9 *./src/packer.cc
5555
218423b3ee3004a7698f6a8228ae6f67f19a4dc6 *./src/packer.h
5656
59f93ff4a50024bd34349b0c98d5b8f7fc8470e6 *./src/permutation.cc
5757
69db3be840f0ce074cfd51731553ad680a8d14b7 *./src/permutation.h
@@ -65,5 +65,5 @@ d14f84cf902170ff48510ebaa4a7365b2525f8eb *./src/random.cc
6565
55e7bb198358c358942c553bca178ad1658aa0d5 *./src/translate.py
6666
46025207b186c68b74526686560ed72decb7d64e *./src/vars.cc
6767
b496214fa6b932662b09dd09ab5d794359886ecd *./src/vars.h
68-
e79619686825538d84decf6db8a7b155c199e930 *./src/version.h
69-
50544f825c11e2e6ff69d5bfc9aeb5ec6bfb4d49 *./src/version.inc
68+
76f5e44bdaf3f7741b267862e3592bad54d2b2ee *./src/version.h
69+
6944736b02fac421d2c2a678cef9fc9c435fddb0 *./src/version.inc

src/build.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
BUILD_NUMBER=641
1+
BUILD_NUMBER=650

src/packer.cc

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -167,24 +167,22 @@ bool packer::packer_putc(void *file, uint8_t c){
167167
return false;
168168
}
169169
else{
170-
uint16_t i,rle,cnode,rle_shift=0;;
171170
uint8_t *w;
172171
*cbuffer<<=1;
173-
rle=symbol=vocroot-buf_size;
174172
if(buf_size){
175-
cnode=vocbuf[symbol];
176-
while(rle!=vocroot&&vocbuf[++rle]==cnode);
173+
uint16_t rle,rle_shift;
174+
rle=symbol=vocroot-buf_size;
175+
while(rle!=vocroot&&vocbuf[++rle]==vocbuf[symbol]);
177176
rle-=symbol;
178177
length=LZ_MIN_MATCH;
179178
if(buf_size>LZ_MIN_MATCH&&rle<buf_size){
180-
cnode=vocindx[hashes[symbol]].in;
179+
uint16_t cnode=vocindx[hashes[symbol]].in;
181180
rle_shift=(uint16_t)(vocroot+LZ_BUF_SIZE-buf_size);
182181
while(cnode!=symbol){
183182
if(vocbuf[(uint16_t)(symbol+length)]==vocbuf[(uint16_t)(cnode+length)]){
184-
uint16_t k=cnode;
185-
i=symbol;
186-
while(vocbuf[i++]==vocbuf[k]&&k++!=symbol);
187-
if((i=(uint16_t)(i-symbol)-1)>=length){
183+
uint16_t i=symbol,j=cnode;
184+
while(i!=vocroot&&vocbuf[i]==vocbuf[j++]) i++;
185+
if((i-=symbol)>=length){
188186
//while buf_size==LZ_BUF_SIZE: minimal offset > 0x0104;
189187
if(buf_size<LZ_BUF_SIZE){
190188
if((uint16_t)(cnode-rle_shift)>0xfeff){
@@ -193,11 +191,7 @@ bool packer::packer_putc(void *file, uint8_t c){
193191
};
194192
};
195193
offset=cnode;
196-
if(i>=buf_size){
197-
length=buf_size;
198-
break;
199-
}
200-
else length=i;
194+
if((length=i)==buf_size) break;
201195
};
202196
};
203197
cnode=vocarea[cnode];
@@ -231,12 +225,12 @@ bool packer::packer_putc(void *file, uint8_t c){
231225
if(!flags||eofs){
232226
*cbuffer<<=flags;
233227
w=cbuffer;
234-
for(i=cpos-cbuffer;i;i--)
228+
for(int i=cpos-cbuffer;i;i--)
235229
if(rc32_putc(file,*w++)) return true;
236230
flags=8;
237231
cpos=&cbuffer[1];
238232
if(eofs){
239-
for(i=4;i;i--){
233+
for(int i=4;i;i--){
240234
wbuf(file,*lowp);
241235
if(wpos==0) return true;
242236
low<<=8;

src/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define VERSION "0.8.28 (build 641 2023-05-08)"
1+
#define VERSION "0.8.29 (build 650 2023-05-14)"

src/version.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION_STRING="0.8.28"
1+
VERSION_STRING="0.8.29"

0 commit comments

Comments
 (0)