diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2017-04-30 03:00:00 +0300 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2017-05-05 20:56:20 +0300 |
commit | 2efa10565ac395d2ce9a679ead46e70fb2f963eb (patch) | |
tree | 84c8df4deb69ec44ea15af9378f24347db55c357 /CPP/7zip/Compress/QuantumDecoder.cpp | |
parent | 603abd5528c97346e9448c0ff47949f818fe558c (diff) |
17.0017.00
Diffstat (limited to 'CPP/7zip/Compress/QuantumDecoder.cpp')
-rw-r--r-- | CPP/7zip/Compress/QuantumDecoder.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/CPP/7zip/Compress/QuantumDecoder.cpp b/CPP/7zip/Compress/QuantumDecoder.cpp index 2adb9053..64e35bf2 100644 --- a/CPP/7zip/Compress/QuantumDecoder.cpp +++ b/CPP/7zip/Compress/QuantumDecoder.cpp @@ -37,7 +37,7 @@ unsigned CModelDecoder::Decode(CRangeDecoder *rc) unsigned i; for (i = 1; Freqs[i] > threshold; i++); - rc->Decode(Freqs[i], Freqs[i - 1], Freqs[0]); + rc->Decode(Freqs[i], Freqs[(size_t)i - 1], Freqs[0]); unsigned res = Vals[--i]; do @@ -50,7 +50,7 @@ unsigned CModelDecoder::Decode(CRangeDecoder *rc) { ReorderCount = kReorderCount; for (i = 0; i < NumItems; i++) - Freqs[i] = (UInt16)(((Freqs[i] - Freqs[i + 1]) + 1) >> 1); + Freqs[i] = (UInt16)(((Freqs[i] - Freqs[(size_t)i + 1]) + 1) >> 1); for (i = 0; i < NumItems - 1; i++) for (unsigned j = i + 1; j < NumItems; j++) if (Freqs[i] < Freqs[j]) @@ -64,7 +64,7 @@ unsigned CModelDecoder::Decode(CRangeDecoder *rc) } do - Freqs[i] = (UInt16)(Freqs[i] + Freqs[i + 1]); + Freqs[i] = (UInt16)(Freqs[i] + Freqs[(size_t)i + 1]); while (i--); } else @@ -73,8 +73,8 @@ unsigned CModelDecoder::Decode(CRangeDecoder *rc) do { Freqs[i] >>= 1; - if (Freqs[i] <= Freqs[i + 1]) - Freqs[i] = (UInt16)(Freqs[i + 1] + 1); + if (Freqs[i] <= Freqs[(size_t)i + 1]) + Freqs[i] = (UInt16)(Freqs[(size_t)i + 1] + 1); } while (i--); } |