LLVM API Documentation
#include "bzlib_private.h"
Include dependency graph for huffman.c:
Go to the source code of this file.
Defines | |
#define | WEIGHTOF(zz0) ((zz0) & 0xffffff00) |
#define | DEPTHOF(zz1) ((zz1) & 0x000000ff) |
#define | MYMAX(zz2, zz3) ((zz2) > (zz3) ? (zz2) : (zz3)) |
#define | ADDWEIGHTS(zw1, zw2) |
#define | UPHEAP(z) |
#define | DOWNHEAP(z) |
Functions | |
void | BZ2_hbMakeCodeLengths (UChar *len, Int32 *freq, Int32 alphaSize, Int32 maxLen) |
void | BZ2_hbAssignCodes (Int32 *code, UChar *length, Int32 minLen, Int32 maxLen, Int32 alphaSize) |
void | BZ2_hbCreateDecodeTables (Int32 *limit, Int32 *base, Int32 *perm, UChar *length, Int32 minLen, Int32 maxLen, Int32 alphaSize) |
#define ADDWEIGHTS | ( | zw1, | |||
zw2 | ) |
#define DOWNHEAP | ( | z | ) |
Value:
{ \ Int32 zz, yy, tmp; \ zz = z; tmp = heap[zz]; \ while (True) { \ yy = zz << 1; \ if (yy > nHeap) break; \ if (yy < nHeap && \ weight[heap[yy+1]] < weight[heap[yy]]) \ yy++; \ if (weight[tmp] < weight[heap[yy]]) break; \ heap[zz] = heap[yy]; \ zz = yy; \ } \ heap[zz] = tmp; \ }
Definition at line 84 of file huffman.c.
Referenced by BZ2_hbMakeCodeLengths().
#define UPHEAP | ( | z | ) |
Value:
{ \ Int32 zz, tmp; \ zz = z; tmp = heap[zz]; \ while (weight[tmp] < weight[heap[zz >> 1]]) { \ heap[zz] = heap[zz >> 1]; \ zz >>= 1; \ } \ heap[zz] = tmp; \ }
Definition at line 73 of file huffman.c.
Referenced by BZ2_hbMakeCodeLengths().
void BZ2_hbCreateDecodeTables | ( | Int32 * | limit, | |
Int32 * | base, | |||
Int32 * | perm, | |||
UChar * | length, | |||
Int32 | minLen, | |||
Int32 | maxLen, | |||
Int32 | alphaSize | |||
) |
Definition at line 193 of file huffman.c.
References BZ_MAX_CODE_LEN.
Referenced by BZ2_decompress().
Definition at line 103 of file huffman.c.
References ADDWEIGHTS, AssertH, BZ_MAX_ALPHA_SIZE, DOWNHEAP, False, True, and UPHEAP.