39{
41 unsigned sym;
44 unsigned curr;
45 unsigned drop;
48 unsigned huff;
49 unsigned incr;
51 unsigned low;
60 static const unsigned short lbase[31] = {
61 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
62 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
63 static const unsigned short lext[31] = {
64 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
65 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 194, 65};
66 static const unsigned short dbase[32] = {
67 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
68 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
69 8193, 12289, 16385, 24577, 0, 0};
70 static const unsigned short dext[32] = {
71 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
72 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
73 28, 28, 29, 29, 64, 64};
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
109 for (sym = 0; sym < codes; sym++)
111
112
118 here.
op = (
unsigned char)64;
121 *(*table)++ = here;
122 *(*table)++ = here;
124 return 0;
125 }
129
130
135 if (
left < 0)
return -1;
136 }
138 return -1;
139
140
141 offs[1] = 0;
144
145
146 for (sym = 0; sym < codes; sym++)
147 if (lens[sym] != 0) work[offs[lens[sym]]++] = (
unsigned short)sym;
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
185 break;
190 break;
191 default:
195 }
196
197
198 huff = 0;
199 sym = 0;
203 drop = 0;
207
208
211 return 1;
212
213
214 for (;;) {
215
217 if (work[sym] + 1U <
match) {
218 here.
op = (
unsigned char)0;
219 here.
val = work[sym];
220 }
221 else if (work[sym] >=
match) {
224 }
225 else {
226 here.
op = (
unsigned char)(32 + 64);
228 }
229
230
231 incr = 1U << (
len - drop);
234 do {
238
239
240 incr = 1U << (
len - 1);
241 while (huff & incr)
242 incr >>= 1;
243 if (incr != 0) {
244 huff &= incr - 1;
245 huff += incr;
246 }
247 else
248 huff = 0;
249
250
251 sym++;
254 len = lens[work[sym]];
255 }
256
257
259
260 if (drop == 0)
262
263
265
266
269 while (curr + drop <
max) {
271 if (
left <= 0)
break;
272 curr++;
274 }
275
276
280 return 1;
281
282
284 (*table)[low].op = (
unsigned char)curr;
285 (*table)[low].bits = (
unsigned char)
root;
287 }
288 }
289
290
291
292
293 if (huff != 0) {
294 here.
op = (
unsigned char)64;
298 }
299
300
303 return 0;
304}
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
static unsigned(__cdecl *hash_bstr)(bstr_t s)
static unsigned __int64 next