Lines Matching refs:op
93 unsigned op; /* code bits, operation, extra bits, or */
131 op = (unsigned)(this.bits);
132 hold >>= op;
133 bits -= op;
134 op = (unsigned)(this.op);
135 if (op == 0) { /* literal */
141 else if (op & 16) { /* length base */
143 op &= 15; /* number of extra bits */
144 if (op) {
145 if (bits < op) {
149 len += (unsigned)hold & ((1U << op) - 1);
150 hold >>= op;
151 bits -= op;
162 op = (unsigned)(this.bits);
163 hold >>= op;
164 bits -= op;
165 op = (unsigned)(this.op);
166 if (op & 16) { /* distance base */
168 op &= 15; /* number of extra bits */
169 if (bits < op) {
172 if (bits < op) {
177 dist += (unsigned)hold & ((1U << op) - 1);
185 hold >>= op;
186 bits -= op;
188 op = (unsigned)(out - beg); /* max distance in output */
189 if (dist > op) { /* see if copy from window */
190 op = dist - op; /* distance back in window */
191 if (op > whave) {
198 from += wsize - op;
199 if (op < len) { /* some from window */
200 len -= op;
203 } while (--op);
207 else if (write < op) { /* wrap around window */
208 from += wsize + write - op;
209 op -= write;
210 if (op < len) { /* some from end of window */
211 len -= op;
214 } while (--op);
217 op = write;
218 len -= op;
221 } while (--op);
227 from += write - op;
228 if (op < len) { /* some from window */
229 len -= op;
232 } while (--op);
263 else if ((op & 64) == 0) { /* 2nd level distance code */
264 this = dcode[this.val + (hold & ((1U << op) - 1))];
273 else if ((op & 64) == 0) { /* 2nd level length code */
274 this = lcode[this.val + (hold & ((1U << op) - 1))];
277 else if (op & 32) { /* end-of-block */
309 - Different op definition to avoid & for extra bits (do & for table bits)