diff options
Diffstat (limited to 'src/lib/lib7z/HuffEnc.h')
-rw-r--r-- | src/lib/lib7z/HuffEnc.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lib/lib7z/HuffEnc.h b/src/lib/lib7z/HuffEnc.h new file mode 100644 index 00000000000..9cf4bfde817 --- /dev/null +++ b/src/lib/lib7z/HuffEnc.h @@ -0,0 +1,27 @@ +/* HuffEnc.h -- Huffman encoding +2009-02-07 : Igor Pavlov : Public domain */ + +#ifndef __HUFF_ENC_H +#define __HUFF_ENC_H + +#include "Types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* +Conditions: + num <= 1024 = 2 ^ NUM_BITS + Sum(freqs) < 4M = 2 ^ (32 - NUM_BITS) + maxLen <= 16 = kMaxLen + Num_Items(p) >= HUFFMAN_TEMP_SIZE(num) +*/ + +void Huffman_Generate(const UInt32 *freqs, UInt32 *p, Byte *lens, UInt32 num, UInt32 maxLen); + +#ifdef __cplusplus +} +#endif + +#endif |