Lines Matching refs:symbol
93 * symbol[] are the symbol values in canonical order, where the number of
99 short *symbol; /* canonically ordered symbols */
103 * Decode a code from the stream s using huffman table h. Return the symbol or
129 int index; /* index of first code of length len in symbol table */
144 if (code < first + count) { /* if length len, return symbol */
147 return h->symbol[index + (code - first)];
181 * enough bits will resolve to a symbol. If the return value is positive, then
187 int symbol; /* current symbol when stepping through length[] */
190 short offs[MAXBITS+1]; /* offsets in symbol table for each length */
193 /* convert compact repeat counts into symbol bit length list */
194 symbol = 0;
200 length[symbol++] = len;
203 n = symbol;
208 for (symbol = 0; symbol < n; symbol++)
209 (h->count[length[symbol]])++; /* assumes lengths are within bounds */
221 /* generate offsets into symbol table for each length for sorting */
227 * put symbols in table sorted by length, by symbol order within each
230 for (symbol = 0; symbol < n; symbol++)
231 if (length[symbol] != 0)
232 h->symbol[offs[length[symbol]]++] = symbol;
280 int symbol; /* decoded symbol, extra bits for distance */
327 symbol = decode(s, &lencode);
328 len = base[symbol] + bits(s, extra[symbol]);
332 symbol = len == 2 ? 2 : dict;
333 dist = decode(s, &distcode) << symbol;
334 dist += bits(s, symbol);
364 symbol = lit ? decode(s, &litcode) : bits(s, 8);
365 s->out[s->next++] = symbol;