Lines Matching defs:symbol
99 * symbol[] are the symbol values in canonical order, where the number of
105 short *symbol; /* canonically ordered symbols */
109 * Decode a code from the stream s using huffman table h. Return the symbol or
135 int index; /* index of first code of length len in symbol table */
150 if (code < first + count) { /* if length len, return symbol */
153 return h->symbol[index + (code - first)];
187 * enough bits will resolve to a symbol. If the return value is positive, then
193 int symbol; /* current symbol when stepping through length[] */
196 short offs[MAXBITS+1]; /* offsets in symbol table for each length */
199 /* convert compact repeat counts into symbol bit length list */
200 symbol = 0;
206 length[symbol++] = len;
209 n = symbol;
214 for (symbol = 0; symbol < n; symbol++)
215 (h->count[length[symbol]])++; /* assumes lengths are within bounds */
227 /* generate offsets into symbol table for each length for sorting */
233 * put symbols in table sorted by length, by symbol order within each
236 for (symbol = 0; symbol < n; symbol++)
237 if (length[symbol] != 0)
238 h->symbol[offs[length[symbol]]++] = symbol;
286 int symbol; /* decoded symbol, extra bits for distance */
333 symbol = decode(s, &lencode);
334 len = base[symbol] + bits(s, extra[symbol]);
338 symbol = len == 2 ? 2 : dict;
339 dist = decode(s, &distcode) << symbol;
340 dist += bits(s, symbol);
370 symbol = lit ? decode(s, &litcode) : bits(s, 8);
371 s->out[s->next++] = symbol;