Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '7zip/Compress/Huffman/HuffmanEncoder.cpp')
-rwxr-xr-x7zip/Compress/Huffman/HuffmanEncoder.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/7zip/Compress/Huffman/HuffmanEncoder.cpp b/7zip/Compress/Huffman/HuffmanEncoder.cpp
index 5876bae8..2badc58e 100755
--- a/7zip/Compress/Huffman/HuffmanEncoder.cpp
+++ b/7zip/Compress/Huffman/HuffmanEncoder.cpp
@@ -315,4 +315,17 @@ void CEncoder::BuildTree(Byte *levels)
levels[n] = Byte(m_Items[n].Len);
}
+void CEncoder::ReverseBits()
+{
+ for (UInt32 symbol = 0; symbol < m_NumSymbols; symbol++)
+ {
+ CItem &item = m_Items[symbol];
+ UInt32 value = item.Code;
+ UInt32 reverseValue = 0;
+ for(UInt32 i = item.Len; i != 0; i--, value >>= 1)
+ reverseValue = (reverseValue << 1) | (value & 1);
+ item.Code = reverseValue;
+ }
+}
+
}}