Lines Matching defs:table

13    The code lengths are lens[0..codes-1].  The result starts at *table,
17 -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
19 requested root table index bits, and on return it is the actual root
20 table index bits. It will differ if the request is greater than the
24 code **table, unsigned *bits, unsigned short *work)
29 unsigned root; /* number of index bits for root table */
30 unsigned curr; /* number of index bits for current table */
31 unsigned drop; /* code bits to drop for sub-table */
33 unsigned used; /* code entries in table used */
39 code this; /* table entry for duplication */
40 code *next; /* next available space in table */
41 const unsigned short *base; /* base value table to use */
42 const unsigned short *extra; /* extra bits table to use */
45 unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
80 creating from that a table of starting indices for each length in the
81 sorted table, and then entering the symbols in order in the sorted
82 table. The sorted table is work[], with that space being provided by
88 at length counts to determine sub-table sizes when building the
107 *(*table)++ = this; /* make a table to force an error */
108 *(*table)++ = this;
126 /* generate offsets into symbol table for each length for sorting */
136 Create and fill in decoding tables. In this loop, the table being
141 fill the table with replicated entries.
143 root is the number of index bits for the root table. When len exceeds
146 new sub-table should be started. drop is zero when the root table is
149 When a new sub-table is needed, it is necessary to look ahead in the
150 code lengths to determine what size sub-table is needed. The length
154 used keeps track of how many table entries have been allocated from the
155 provided *table space. It is checked when a LENS table is being made
156 against the space in *table, ENOUGH, minus the maximum space needed by
190 next = *table; /* current table to fill in */
191 curr = root; /* current table index bits */
193 low = (unsigned)(-1); /* trigger new sub-table when len > root */
194 used = 1U << root; /* use root table entries */
197 /* check available table space */
201 /* process all codes and make table entries */
203 /* create table entry */
221 min = fill; /* save offset to next table */
245 /* create new sub-table if needed */
251 /* increment past last table */
254 /* determine length of next table */
269 /* point entry in root table to sub-table */
271 (*table)[low].op = (unsigned char)curr;
272 (*table)[low].bits = (unsigned char)root;
273 (*table)[low].val = (unsigned short)(next - *table);
278 Fill in rest of table for incomplete codes. This loop is similar to the
279 loop above in incrementing huff for table indices. It is assumed that
281 through high index bits. When the current sub-table is filled, the loop
282 drops back to the root table to fill in any remaining entries there.
288 /* when done with sub-table, drop back to root table */
292 next = *table;
296 /* put invalid code marker in table */
312 *table += used;