Home | History | Annotate | Download | only in blast

Lines Matching refs:symbol

95  * symbol[] are the symbol values in canonical order, where the number of
101 short *symbol; /* canonically ordered symbols */
105 * Decode a code from the stream s using huffman table h. Return the symbol or
131 int index; /* index of first code of length len in symbol table */
146 if (code < first + count) { /* if length len, return symbol */
149 return h->symbol[index + (code - first)];
183 * enough bits will resolve to a symbol. If the return value is positive, then
189 int symbol; /* current symbol when stepping through length[] */
192 short offs[MAXBITS+1]; /* offsets in symbol table for each length */
195 /* convert compact repeat counts into symbol bit length list */
196 symbol = 0;
202 length[symbol++] = len;
205 n = symbol;
210 for (symbol = 0; symbol < n; symbol++)
211 (h->count[length[symbol]])++; /* assumes lengths are within bounds */
223 /* generate offsets into symbol table for each length for sorting */
229 * put symbols in table sorted by length, by symbol order within each
232 for (symbol = 0; symbol < n; symbol++)
233 if (length[symbol] != 0)
234 h->symbol[offs[length[symbol]]++] = symbol;
282 int symbol; /* decoded symbol, extra bits for distance */
329 symbol = decode(s, &lencode);
330 len = base[symbol] + bits(s, extra[symbol]);
334 symbol = len == 2 ? 2 : dict;
335 dist = decode(s, &distcode) << symbol;
336 dist += bits(s, symbol);
366 symbol = lit ? decode(s, &litcode) : bits(s, 8);
367 s->out[s->next++] = symbol;