Lines Matching refs:len
46 unsigned len; /* a code's length in bits */
113 for (len = 0; len <= MAXBITS; len++)
114 count[len] = 0;
138 for (len = 1; len <= MAXBITS; len++) {
140 left -= count[len];
148 for (len = 1; len < MAXBITS; len++)
149 offs[len + 1] = offs[len] + count[len];
158 with length len. That code is converted to an index by dropping drop
159 bits off of the bottom. For codes where len is less than drop + curr,
160 those top drop + curr - len bits are incremented through all values to
163 root is the number of index bits for the root table. When len exceeds
209 len = min; /* starting code length */
213 low = (unsigned)(-1); /* trigger new sub-table when len > root */
224 this.bits = (unsigned char)(len - drop);
238 /* replicate for those indices with low len bits equal to huff */
239 incr = 1U << (len - drop);
247 /* backwards increment the len-bit code huff */
248 incr = 1U << (len - 1);
258 /* go to next symbol, update count, len */
260 if (--(count[len]) == 0) {
261 if (len == max) break;
262 len = lens[work[sym]];
266 if (len > root && (huff & mask) != low) {
275 curr = len - drop;
300 len is equal to curr + drop, so there is no loop needed to increment
305 this.bits = (unsigned char)(len - drop);
311 len = root;
313 this.bits = (unsigned char)len;
319 /* backwards increment the len-bit code huff */
320 incr = 1U << (len - 1);