Lines Matching defs:len
35 unsigned len; /* a code's length in bits */
104 for (len = 0; len <= MAXBITS; len++)
105 count[len] = 0;
121 for (len = 1; len <= MAXBITS; len++) {
123 left -= count[len];
131 for (len = 1; len < MAXBITS; len++)
132 offs[len + 1] = offs[len] + count[len];
141 with length len. That code is converted to an index by dropping drop
142 bits off of the bottom. For codes where len is less than drop + curr,
143 those top drop + curr - len bits are incremented through all values to
146 root is the number of index bits for the root table. When len exceeds
191 len = min; /* starting code length */
195 low = (unsigned)(-1); /* trigger new sub-table when len > root */
207 this.bits = (unsigned char)(len - drop);
221 /* replicate for those indices with low len bits equal to huff */
222 incr = 1U << (len - drop);
229 /* backwards increment the len-bit code huff */
230 incr = 1U << (len - 1);
240 /* go to next symbol, update count, len */
242 if (--(count[len]) == 0) {
243 if (len == max) break;
244 len = lens[work[sym]];
248 if (len > root && (huff & mask) != low) {
257 curr = len - drop;
283 len is equal to curr + drop, so there is no loop needed to increment
288 this.bits = (unsigned char)(len - drop);
294 len = root;
297 this.bits = (unsigned char)len;
303 /* backwards increment the len-bit code huff */
304 incr = 1U << (len - 1);