Lines Matching refs:op
92 unsigned op; /* code bits, operation, extra bits, or */
130 op = (unsigned)(this.bits);
131 hold >>= op;
132 bits -= op;
133 op = (unsigned)(this.op);
134 if (op == 0) { /* literal */
140 else if (op & 16) { /* length base */
142 op &= 15; /* number of extra bits */
143 if (op) {
144 if (bits < op) {
148 len += (unsigned)hold & ((1U << op) - 1);
149 hold >>= op;
150 bits -= op;
161 op = (unsigned)(this.bits);
162 hold >>= op;
163 bits -= op;
164 op = (unsigned)(this.op);
165 if (op & 16) { /* distance base */
167 op &= 15; /* number of extra bits */
168 if (bits < op) {
171 if (bits < op) {
176 dist += (unsigned)hold & ((1U << op) - 1);
184 hold >>= op;
185 bits -= op;
187 op = (unsigned)(out - beg); /* max distance in output */
188 if (dist > op) { /* see if copy from window */
189 op = dist - op; /* distance back in window */
190 if (op > whave) {
197 from += wsize - op;
198 if (op < len) { /* some from window */
199 len -= op;
202 } while (--op);
206 else if (write < op) { /* wrap around window */
207 from += wsize + write - op;
208 op -= write;
209 if (op < len) { /* some from end of window */
210 len -= op;
213 } while (--op);
216 op = write;
217 len -= op;
220 } while (--op);
226 from += write - op;
227 if (op < len) { /* some from window */
228 len -= op;
231 } while (--op);
262 else if ((op & 64) == 0) { /* 2nd level distance code */
263 this = dcode[this.val + (hold & ((1U << op) - 1))];
272 else if ((op & 64) == 0) { /* 2nd level length code */
273 this = lcode[this.val + (hold & ((1U << op) - 1))];
276 else if (op & 32) { /* end-of-block */
308 - Different op definition to avoid & for extra bits (do & for table bits)