/rust/registry/src/index.crates.io-1949cf8c6b5b557f/fax-0.2.7/src/bitmaps.rs
Line | Count | Source |
1 | | pub mod mode { |
2 | | pub use super::*; |
3 | | use crate::{BitReader, Bits}; |
4 | | static PREFIX_LUT_0: [Entry<Mode>; 128usize] = [ |
5 | | Entry::Value(Mode::EOF, 12u8), |
6 | | Entry::Value(Mode::Extension, 7u8), |
7 | | Entry::Value(Mode::Vertical(-3), 7u8), |
8 | | Entry::Value(Mode::Vertical(3), 7u8), |
9 | | Entry::Value(Mode::Vertical(-2), 6u8), |
10 | | Entry::Value(Mode::Vertical(-2), 6u8), |
11 | | Entry::Value(Mode::Vertical(2), 6u8), |
12 | | Entry::Value(Mode::Vertical(2), 6u8), |
13 | | Entry::Value(Mode::Pass, 4u8), |
14 | | Entry::Value(Mode::Pass, 4u8), |
15 | | Entry::Value(Mode::Pass, 4u8), |
16 | | Entry::Value(Mode::Pass, 4u8), |
17 | | Entry::Value(Mode::Pass, 4u8), |
18 | | Entry::Value(Mode::Pass, 4u8), |
19 | | Entry::Value(Mode::Pass, 4u8), |
20 | | Entry::Value(Mode::Pass, 4u8), |
21 | | Entry::Value(Mode::Horizontal, 3u8), |
22 | | Entry::Value(Mode::Horizontal, 3u8), |
23 | | Entry::Value(Mode::Horizontal, 3u8), |
24 | | Entry::Value(Mode::Horizontal, 3u8), |
25 | | Entry::Value(Mode::Horizontal, 3u8), |
26 | | Entry::Value(Mode::Horizontal, 3u8), |
27 | | Entry::Value(Mode::Horizontal, 3u8), |
28 | | Entry::Value(Mode::Horizontal, 3u8), |
29 | | Entry::Value(Mode::Horizontal, 3u8), |
30 | | Entry::Value(Mode::Horizontal, 3u8), |
31 | | Entry::Value(Mode::Horizontal, 3u8), |
32 | | Entry::Value(Mode::Horizontal, 3u8), |
33 | | Entry::Value(Mode::Horizontal, 3u8), |
34 | | Entry::Value(Mode::Horizontal, 3u8), |
35 | | Entry::Value(Mode::Horizontal, 3u8), |
36 | | Entry::Value(Mode::Horizontal, 3u8), |
37 | | Entry::Value(Mode::Vertical(-1), 3u8), |
38 | | Entry::Value(Mode::Vertical(-1), 3u8), |
39 | | Entry::Value(Mode::Vertical(-1), 3u8), |
40 | | Entry::Value(Mode::Vertical(-1), 3u8), |
41 | | Entry::Value(Mode::Vertical(-1), 3u8), |
42 | | Entry::Value(Mode::Vertical(-1), 3u8), |
43 | | Entry::Value(Mode::Vertical(-1), 3u8), |
44 | | Entry::Value(Mode::Vertical(-1), 3u8), |
45 | | Entry::Value(Mode::Vertical(-1), 3u8), |
46 | | Entry::Value(Mode::Vertical(-1), 3u8), |
47 | | Entry::Value(Mode::Vertical(-1), 3u8), |
48 | | Entry::Value(Mode::Vertical(-1), 3u8), |
49 | | Entry::Value(Mode::Vertical(-1), 3u8), |
50 | | Entry::Value(Mode::Vertical(-1), 3u8), |
51 | | Entry::Value(Mode::Vertical(-1), 3u8), |
52 | | Entry::Value(Mode::Vertical(-1), 3u8), |
53 | | Entry::Value(Mode::Vertical(1), 3u8), |
54 | | Entry::Value(Mode::Vertical(1), 3u8), |
55 | | Entry::Value(Mode::Vertical(1), 3u8), |
56 | | Entry::Value(Mode::Vertical(1), 3u8), |
57 | | Entry::Value(Mode::Vertical(1), 3u8), |
58 | | Entry::Value(Mode::Vertical(1), 3u8), |
59 | | Entry::Value(Mode::Vertical(1), 3u8), |
60 | | Entry::Value(Mode::Vertical(1), 3u8), |
61 | | Entry::Value(Mode::Vertical(1), 3u8), |
62 | | Entry::Value(Mode::Vertical(1), 3u8), |
63 | | Entry::Value(Mode::Vertical(1), 3u8), |
64 | | Entry::Value(Mode::Vertical(1), 3u8), |
65 | | Entry::Value(Mode::Vertical(1), 3u8), |
66 | | Entry::Value(Mode::Vertical(1), 3u8), |
67 | | Entry::Value(Mode::Vertical(1), 3u8), |
68 | | Entry::Value(Mode::Vertical(1), 3u8), |
69 | | Entry::Value(Mode::Vertical(0), 1u8), |
70 | | Entry::Value(Mode::Vertical(0), 1u8), |
71 | | Entry::Value(Mode::Vertical(0), 1u8), |
72 | | Entry::Value(Mode::Vertical(0), 1u8), |
73 | | Entry::Value(Mode::Vertical(0), 1u8), |
74 | | Entry::Value(Mode::Vertical(0), 1u8), |
75 | | Entry::Value(Mode::Vertical(0), 1u8), |
76 | | Entry::Value(Mode::Vertical(0), 1u8), |
77 | | Entry::Value(Mode::Vertical(0), 1u8), |
78 | | Entry::Value(Mode::Vertical(0), 1u8), |
79 | | Entry::Value(Mode::Vertical(0), 1u8), |
80 | | Entry::Value(Mode::Vertical(0), 1u8), |
81 | | Entry::Value(Mode::Vertical(0), 1u8), |
82 | | Entry::Value(Mode::Vertical(0), 1u8), |
83 | | Entry::Value(Mode::Vertical(0), 1u8), |
84 | | Entry::Value(Mode::Vertical(0), 1u8), |
85 | | Entry::Value(Mode::Vertical(0), 1u8), |
86 | | Entry::Value(Mode::Vertical(0), 1u8), |
87 | | Entry::Value(Mode::Vertical(0), 1u8), |
88 | | Entry::Value(Mode::Vertical(0), 1u8), |
89 | | Entry::Value(Mode::Vertical(0), 1u8), |
90 | | Entry::Value(Mode::Vertical(0), 1u8), |
91 | | Entry::Value(Mode::Vertical(0), 1u8), |
92 | | Entry::Value(Mode::Vertical(0), 1u8), |
93 | | Entry::Value(Mode::Vertical(0), 1u8), |
94 | | Entry::Value(Mode::Vertical(0), 1u8), |
95 | | Entry::Value(Mode::Vertical(0), 1u8), |
96 | | Entry::Value(Mode::Vertical(0), 1u8), |
97 | | Entry::Value(Mode::Vertical(0), 1u8), |
98 | | Entry::Value(Mode::Vertical(0), 1u8), |
99 | | Entry::Value(Mode::Vertical(0), 1u8), |
100 | | Entry::Value(Mode::Vertical(0), 1u8), |
101 | | Entry::Value(Mode::Vertical(0), 1u8), |
102 | | Entry::Value(Mode::Vertical(0), 1u8), |
103 | | Entry::Value(Mode::Vertical(0), 1u8), |
104 | | Entry::Value(Mode::Vertical(0), 1u8), |
105 | | Entry::Value(Mode::Vertical(0), 1u8), |
106 | | Entry::Value(Mode::Vertical(0), 1u8), |
107 | | Entry::Value(Mode::Vertical(0), 1u8), |
108 | | Entry::Value(Mode::Vertical(0), 1u8), |
109 | | Entry::Value(Mode::Vertical(0), 1u8), |
110 | | Entry::Value(Mode::Vertical(0), 1u8), |
111 | | Entry::Value(Mode::Vertical(0), 1u8), |
112 | | Entry::Value(Mode::Vertical(0), 1u8), |
113 | | Entry::Value(Mode::Vertical(0), 1u8), |
114 | | Entry::Value(Mode::Vertical(0), 1u8), |
115 | | Entry::Value(Mode::Vertical(0), 1u8), |
116 | | Entry::Value(Mode::Vertical(0), 1u8), |
117 | | Entry::Value(Mode::Vertical(0), 1u8), |
118 | | Entry::Value(Mode::Vertical(0), 1u8), |
119 | | Entry::Value(Mode::Vertical(0), 1u8), |
120 | | Entry::Value(Mode::Vertical(0), 1u8), |
121 | | Entry::Value(Mode::Vertical(0), 1u8), |
122 | | Entry::Value(Mode::Vertical(0), 1u8), |
123 | | Entry::Value(Mode::Vertical(0), 1u8), |
124 | | Entry::Value(Mode::Vertical(0), 1u8), |
125 | | Entry::Value(Mode::Vertical(0), 1u8), |
126 | | Entry::Value(Mode::Vertical(0), 1u8), |
127 | | Entry::Value(Mode::Vertical(0), 1u8), |
128 | | Entry::Value(Mode::Vertical(0), 1u8), |
129 | | Entry::Value(Mode::Vertical(0), 1u8), |
130 | | Entry::Value(Mode::Vertical(0), 1u8), |
131 | | Entry::Value(Mode::Vertical(0), 1u8), |
132 | | Entry::Value(Mode::Vertical(0), 1u8), |
133 | | ]; |
134 | 0 | pub fn decode(reader: &mut impl BitReader) -> Option<Mode> { |
135 | 0 | let root = Entry::Prefix(7u8, &PREFIX_LUT_0); |
136 | 0 | root.find(reader) |
137 | 0 | } Unexecuted instantiation: fax::maps::mode::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>> Unexecuted instantiation: fax::maps::mode::decode::<_> |
138 | 0 | pub fn encode(val: Mode) -> Option<Bits> { |
139 | 0 | let bits = match val { |
140 | 0 | Mode::Pass => Bits { data: 1u16, len: 4u8 }, |
141 | 0 | Mode::Horizontal => Bits { data: 1u16, len: 3u8 }, |
142 | 0 | Mode::Vertical(0) => Bits { data: 1u16, len: 1u8 }, |
143 | 0 | Mode::Vertical(1) => Bits { data: 3u16, len: 3u8 }, |
144 | 0 | Mode::Vertical(2) => Bits { data: 3u16, len: 6u8 }, |
145 | 0 | Mode::Vertical(3) => Bits { data: 3u16, len: 7u8 }, |
146 | 0 | Mode::Vertical(-1) => Bits { data: 2u16, len: 3u8 }, |
147 | 0 | Mode::Vertical(-2) => Bits { data: 2u16, len: 6u8 }, |
148 | 0 | Mode::Vertical(-3) => Bits { data: 2u16, len: 7u8 }, |
149 | 0 | Mode::Extension => Bits { data: 1u16, len: 7u8 }, |
150 | 0 | Mode::EOF => Bits { data: 1u16, len: 12u8 }, |
151 | 0 | _ => return None, |
152 | | }; |
153 | 0 | Some(bits) |
154 | 0 | } |
155 | | pub static ENTRIES: [(Mode, Bits); 11usize] = [ |
156 | | (Mode::Pass, Bits { data: 1u16, len: 4u8 }), |
157 | | (Mode::Horizontal, Bits { data: 1u16, len: 3u8 }), |
158 | | (Mode::Vertical(0), Bits { data: 1u16, len: 1u8 }), |
159 | | (Mode::Vertical(1), Bits { data: 3u16, len: 3u8 }), |
160 | | (Mode::Vertical(2), Bits { data: 3u16, len: 6u8 }), |
161 | | (Mode::Vertical(3), Bits { data: 3u16, len: 7u8 }), |
162 | | (Mode::Vertical(-1), Bits { data: 2u16, len: 3u8 }), |
163 | | (Mode::Vertical(-2), Bits { data: 2u16, len: 6u8 }), |
164 | | (Mode::Vertical(-3), Bits { data: 2u16, len: 7u8 }), |
165 | | (Mode::Extension, Bits { data: 1u16, len: 7u8 }), |
166 | | (Mode::EOF, Bits { data: 1u16, len: 12u8 }), |
167 | | ]; |
168 | | } |
169 | | pub mod black { |
170 | | pub use super::*; |
171 | | use crate::{BitReader, Bits}; |
172 | | static LEAF_LUT_00000: [Option<(u16, u8)>; 256usize] = [ |
173 | | None, |
174 | | None, |
175 | | None, |
176 | | None, |
177 | | None, |
178 | | None, |
179 | | None, |
180 | | None, |
181 | | None, |
182 | | None, |
183 | | None, |
184 | | None, |
185 | | None, |
186 | | None, |
187 | | None, |
188 | | None, |
189 | | None, |
190 | | None, |
191 | | None, |
192 | | None, |
193 | | None, |
194 | | None, |
195 | | None, |
196 | | None, |
197 | | None, |
198 | | None, |
199 | | None, |
200 | | None, |
201 | | None, |
202 | | None, |
203 | | None, |
204 | | None, |
205 | | Some((1792, 6u8)), |
206 | | Some((1792, 6u8)), |
207 | | Some((1792, 6u8)), |
208 | | Some((1792, 6u8)), |
209 | | Some((1984, 7u8)), |
210 | | Some((1984, 7u8)), |
211 | | Some((2048, 7u8)), |
212 | | Some((2048, 7u8)), |
213 | | Some((2112, 7u8)), |
214 | | Some((2112, 7u8)), |
215 | | Some((2176, 7u8)), |
216 | | Some((2176, 7u8)), |
217 | | Some((2240, 7u8)), |
218 | | Some((2240, 7u8)), |
219 | | Some((2304, 7u8)), |
220 | | Some((2304, 7u8)), |
221 | | Some((1856, 6u8)), |
222 | | Some((1856, 6u8)), |
223 | | Some((1856, 6u8)), |
224 | | Some((1856, 6u8)), |
225 | | Some((1920, 6u8)), |
226 | | Some((1920, 6u8)), |
227 | | Some((1920, 6u8)), |
228 | | Some((1920, 6u8)), |
229 | | Some((2368, 7u8)), |
230 | | Some((2368, 7u8)), |
231 | | Some((2432, 7u8)), |
232 | | Some((2432, 7u8)), |
233 | | Some((2496, 7u8)), |
234 | | Some((2496, 7u8)), |
235 | | Some((2560, 7u8)), |
236 | | Some((2560, 7u8)), |
237 | | Some((18, 5u8)), |
238 | | Some((18, 5u8)), |
239 | | Some((18, 5u8)), |
240 | | Some((18, 5u8)), |
241 | | Some((18, 5u8)), |
242 | | Some((18, 5u8)), |
243 | | Some((18, 5u8)), |
244 | | Some((18, 5u8)), |
245 | | Some((52, 7u8)), |
246 | | Some((52, 7u8)), |
247 | | Some((640, 8u8)), |
248 | | Some((704, 8u8)), |
249 | | Some((768, 8u8)), |
250 | | Some((832, 8u8)), |
251 | | Some((55, 7u8)), |
252 | | Some((55, 7u8)), |
253 | | Some((56, 7u8)), |
254 | | Some((56, 7u8)), |
255 | | Some((1280, 8u8)), |
256 | | Some((1344, 8u8)), |
257 | | Some((1408, 8u8)), |
258 | | Some((1472, 8u8)), |
259 | | Some((59, 7u8)), |
260 | | Some((59, 7u8)), |
261 | | Some((60, 7u8)), |
262 | | Some((60, 7u8)), |
263 | | Some((1536, 8u8)), |
264 | | Some((1600, 8u8)), |
265 | | Some((24, 6u8)), |
266 | | Some((24, 6u8)), |
267 | | Some((24, 6u8)), |
268 | | Some((24, 6u8)), |
269 | | Some((25, 6u8)), |
270 | | Some((25, 6u8)), |
271 | | Some((25, 6u8)), |
272 | | Some((25, 6u8)), |
273 | | Some((1664, 8u8)), |
274 | | Some((1728, 8u8)), |
275 | | Some((320, 7u8)), |
276 | | Some((320, 7u8)), |
277 | | Some((384, 7u8)), |
278 | | Some((384, 7u8)), |
279 | | Some((448, 7u8)), |
280 | | Some((448, 7u8)), |
281 | | Some((512, 8u8)), |
282 | | Some((576, 8u8)), |
283 | | Some((53, 7u8)), |
284 | | Some((53, 7u8)), |
285 | | Some((54, 7u8)), |
286 | | Some((54, 7u8)), |
287 | | Some((896, 8u8)), |
288 | | Some((960, 8u8)), |
289 | | Some((1024, 8u8)), |
290 | | Some((1088, 8u8)), |
291 | | Some((1152, 8u8)), |
292 | | Some((1216, 8u8)), |
293 | | Some((64, 5u8)), |
294 | | Some((64, 5u8)), |
295 | | Some((64, 5u8)), |
296 | | Some((64, 5u8)), |
297 | | Some((64, 5u8)), |
298 | | Some((64, 5u8)), |
299 | | Some((64, 5u8)), |
300 | | Some((64, 5u8)), |
301 | | Some((13, 3u8)), |
302 | | Some((13, 3u8)), |
303 | | Some((13, 3u8)), |
304 | | Some((13, 3u8)), |
305 | | Some((13, 3u8)), |
306 | | Some((13, 3u8)), |
307 | | Some((13, 3u8)), |
308 | | Some((13, 3u8)), |
309 | | Some((13, 3u8)), |
310 | | Some((13, 3u8)), |
311 | | Some((13, 3u8)), |
312 | | Some((13, 3u8)), |
313 | | Some((13, 3u8)), |
314 | | Some((13, 3u8)), |
315 | | Some((13, 3u8)), |
316 | | Some((13, 3u8)), |
317 | | Some((13, 3u8)), |
318 | | Some((13, 3u8)), |
319 | | Some((13, 3u8)), |
320 | | Some((13, 3u8)), |
321 | | Some((13, 3u8)), |
322 | | Some((13, 3u8)), |
323 | | Some((13, 3u8)), |
324 | | Some((13, 3u8)), |
325 | | Some((13, 3u8)), |
326 | | Some((13, 3u8)), |
327 | | Some((13, 3u8)), |
328 | | Some((13, 3u8)), |
329 | | Some((13, 3u8)), |
330 | | Some((13, 3u8)), |
331 | | Some((13, 3u8)), |
332 | | Some((13, 3u8)), |
333 | | Some((23, 6u8)), |
334 | | Some((23, 6u8)), |
335 | | Some((23, 6u8)), |
336 | | Some((23, 6u8)), |
337 | | Some((50, 7u8)), |
338 | | Some((50, 7u8)), |
339 | | Some((51, 7u8)), |
340 | | Some((51, 7u8)), |
341 | | Some((44, 7u8)), |
342 | | Some((44, 7u8)), |
343 | | Some((45, 7u8)), |
344 | | Some((45, 7u8)), |
345 | | Some((46, 7u8)), |
346 | | Some((46, 7u8)), |
347 | | Some((47, 7u8)), |
348 | | Some((47, 7u8)), |
349 | | Some((57, 7u8)), |
350 | | Some((57, 7u8)), |
351 | | Some((58, 7u8)), |
352 | | Some((58, 7u8)), |
353 | | Some((61, 7u8)), |
354 | | Some((61, 7u8)), |
355 | | Some((256, 7u8)), |
356 | | Some((256, 7u8)), |
357 | | Some((16, 5u8)), |
358 | | Some((16, 5u8)), |
359 | | Some((16, 5u8)), |
360 | | Some((16, 5u8)), |
361 | | Some((16, 5u8)), |
362 | | Some((16, 5u8)), |
363 | | Some((16, 5u8)), |
364 | | Some((16, 5u8)), |
365 | | Some((17, 5u8)), |
366 | | Some((17, 5u8)), |
367 | | Some((17, 5u8)), |
368 | | Some((17, 5u8)), |
369 | | Some((17, 5u8)), |
370 | | Some((17, 5u8)), |
371 | | Some((17, 5u8)), |
372 | | Some((17, 5u8)), |
373 | | Some((48, 7u8)), |
374 | | Some((48, 7u8)), |
375 | | Some((49, 7u8)), |
376 | | Some((49, 7u8)), |
377 | | Some((62, 7u8)), |
378 | | Some((62, 7u8)), |
379 | | Some((63, 7u8)), |
380 | | Some((63, 7u8)), |
381 | | Some((30, 7u8)), |
382 | | Some((30, 7u8)), |
383 | | Some((31, 7u8)), |
384 | | Some((31, 7u8)), |
385 | | Some((32, 7u8)), |
386 | | Some((32, 7u8)), |
387 | | Some((33, 7u8)), |
388 | | Some((33, 7u8)), |
389 | | Some((40, 7u8)), |
390 | | Some((40, 7u8)), |
391 | | Some((41, 7u8)), |
392 | | Some((41, 7u8)), |
393 | | Some((22, 6u8)), |
394 | | Some((22, 6u8)), |
395 | | Some((22, 6u8)), |
396 | | Some((22, 6u8)), |
397 | | Some((14, 3u8)), |
398 | | Some((14, 3u8)), |
399 | | Some((14, 3u8)), |
400 | | Some((14, 3u8)), |
401 | | Some((14, 3u8)), |
402 | | Some((14, 3u8)), |
403 | | Some((14, 3u8)), |
404 | | Some((14, 3u8)), |
405 | | Some((14, 3u8)), |
406 | | Some((14, 3u8)), |
407 | | Some((14, 3u8)), |
408 | | Some((14, 3u8)), |
409 | | Some((14, 3u8)), |
410 | | Some((14, 3u8)), |
411 | | Some((14, 3u8)), |
412 | | Some((14, 3u8)), |
413 | | Some((14, 3u8)), |
414 | | Some((14, 3u8)), |
415 | | Some((14, 3u8)), |
416 | | Some((14, 3u8)), |
417 | | Some((14, 3u8)), |
418 | | Some((14, 3u8)), |
419 | | Some((14, 3u8)), |
420 | | Some((14, 3u8)), |
421 | | Some((14, 3u8)), |
422 | | Some((14, 3u8)), |
423 | | Some((14, 3u8)), |
424 | | Some((14, 3u8)), |
425 | | Some((14, 3u8)), |
426 | | Some((14, 3u8)), |
427 | | Some((14, 3u8)), |
428 | | Some((14, 3u8)), |
429 | | ]; |
430 | | static LEAF_LUT_00001: [Option<(u16, u8)>; 128usize] = [ |
431 | | Some((10, 2u8)), |
432 | | Some((10, 2u8)), |
433 | | Some((10, 2u8)), |
434 | | Some((10, 2u8)), |
435 | | Some((10, 2u8)), |
436 | | Some((10, 2u8)), |
437 | | Some((10, 2u8)), |
438 | | Some((10, 2u8)), |
439 | | Some((10, 2u8)), |
440 | | Some((10, 2u8)), |
441 | | Some((10, 2u8)), |
442 | | Some((10, 2u8)), |
443 | | Some((10, 2u8)), |
444 | | Some((10, 2u8)), |
445 | | Some((10, 2u8)), |
446 | | Some((10, 2u8)), |
447 | | Some((10, 2u8)), |
448 | | Some((10, 2u8)), |
449 | | Some((10, 2u8)), |
450 | | Some((10, 2u8)), |
451 | | Some((10, 2u8)), |
452 | | Some((10, 2u8)), |
453 | | Some((10, 2u8)), |
454 | | Some((10, 2u8)), |
455 | | Some((10, 2u8)), |
456 | | Some((10, 2u8)), |
457 | | Some((10, 2u8)), |
458 | | Some((10, 2u8)), |
459 | | Some((10, 2u8)), |
460 | | Some((10, 2u8)), |
461 | | Some((10, 2u8)), |
462 | | Some((10, 2u8)), |
463 | | Some((11, 2u8)), |
464 | | Some((11, 2u8)), |
465 | | Some((11, 2u8)), |
466 | | Some((11, 2u8)), |
467 | | Some((11, 2u8)), |
468 | | Some((11, 2u8)), |
469 | | Some((11, 2u8)), |
470 | | Some((11, 2u8)), |
471 | | Some((11, 2u8)), |
472 | | Some((11, 2u8)), |
473 | | Some((11, 2u8)), |
474 | | Some((11, 2u8)), |
475 | | Some((11, 2u8)), |
476 | | Some((11, 2u8)), |
477 | | Some((11, 2u8)), |
478 | | Some((11, 2u8)), |
479 | | Some((11, 2u8)), |
480 | | Some((11, 2u8)), |
481 | | Some((11, 2u8)), |
482 | | Some((11, 2u8)), |
483 | | Some((11, 2u8)), |
484 | | Some((11, 2u8)), |
485 | | Some((11, 2u8)), |
486 | | Some((11, 2u8)), |
487 | | Some((11, 2u8)), |
488 | | Some((11, 2u8)), |
489 | | Some((11, 2u8)), |
490 | | Some((11, 2u8)), |
491 | | Some((11, 2u8)), |
492 | | Some((11, 2u8)), |
493 | | Some((11, 2u8)), |
494 | | Some((11, 2u8)), |
495 | | Some((15, 4u8)), |
496 | | Some((15, 4u8)), |
497 | | Some((15, 4u8)), |
498 | | Some((15, 4u8)), |
499 | | Some((15, 4u8)), |
500 | | Some((15, 4u8)), |
501 | | Some((15, 4u8)), |
502 | | Some((15, 4u8)), |
503 | | Some((128, 7u8)), |
504 | | Some((192, 7u8)), |
505 | | Some((26, 7u8)), |
506 | | Some((27, 7u8)), |
507 | | Some((28, 7u8)), |
508 | | Some((29, 7u8)), |
509 | | Some((19, 6u8)), |
510 | | Some((19, 6u8)), |
511 | | Some((20, 6u8)), |
512 | | Some((20, 6u8)), |
513 | | Some((34, 7u8)), |
514 | | Some((35, 7u8)), |
515 | | Some((36, 7u8)), |
516 | | Some((37, 7u8)), |
517 | | Some((38, 7u8)), |
518 | | Some((39, 7u8)), |
519 | | Some((21, 6u8)), |
520 | | Some((21, 6u8)), |
521 | | Some((42, 7u8)), |
522 | | Some((43, 7u8)), |
523 | | Some((0, 5u8)), |
524 | | Some((0, 5u8)), |
525 | | Some((0, 5u8)), |
526 | | Some((0, 5u8)), |
527 | | Some((12, 2u8)), |
528 | | Some((12, 2u8)), |
529 | | Some((12, 2u8)), |
530 | | Some((12, 2u8)), |
531 | | Some((12, 2u8)), |
532 | | Some((12, 2u8)), |
533 | | Some((12, 2u8)), |
534 | | Some((12, 2u8)), |
535 | | Some((12, 2u8)), |
536 | | Some((12, 2u8)), |
537 | | Some((12, 2u8)), |
538 | | Some((12, 2u8)), |
539 | | Some((12, 2u8)), |
540 | | Some((12, 2u8)), |
541 | | Some((12, 2u8)), |
542 | | Some((12, 2u8)), |
543 | | Some((12, 2u8)), |
544 | | Some((12, 2u8)), |
545 | | Some((12, 2u8)), |
546 | | Some((12, 2u8)), |
547 | | Some((12, 2u8)), |
548 | | Some((12, 2u8)), |
549 | | Some((12, 2u8)), |
550 | | Some((12, 2u8)), |
551 | | Some((12, 2u8)), |
552 | | Some((12, 2u8)), |
553 | | Some((12, 2u8)), |
554 | | Some((12, 2u8)), |
555 | | Some((12, 2u8)), |
556 | | Some((12, 2u8)), |
557 | | Some((12, 2u8)), |
558 | | Some((12, 2u8)), |
559 | | ]; |
560 | | static LEAF_LUT_00010: [Option<(u16, u8)>; 2usize] = [Some((9, 1u8)), Some((8, 1u8))]; |
561 | | static PREFIX_LUT_0: [Entry<u16>; 32usize] = [ |
562 | | Entry::Leaf(8u8, &LEAF_LUT_00000), |
563 | | Entry::Leaf(7u8, &LEAF_LUT_00001), |
564 | | Entry::Leaf(1u8, &LEAF_LUT_00010), |
565 | | Entry::Value(7, 5u8), |
566 | | Entry::Value(6, 4u8), |
567 | | Entry::Value(6, 4u8), |
568 | | Entry::Value(5, 4u8), |
569 | | Entry::Value(5, 4u8), |
570 | | Entry::Value(1, 3u8), |
571 | | Entry::Value(1, 3u8), |
572 | | Entry::Value(1, 3u8), |
573 | | Entry::Value(1, 3u8), |
574 | | Entry::Value(4, 3u8), |
575 | | Entry::Value(4, 3u8), |
576 | | Entry::Value(4, 3u8), |
577 | | Entry::Value(4, 3u8), |
578 | | Entry::Value(3, 2u8), |
579 | | Entry::Value(3, 2u8), |
580 | | Entry::Value(3, 2u8), |
581 | | Entry::Value(3, 2u8), |
582 | | Entry::Value(3, 2u8), |
583 | | Entry::Value(3, 2u8), |
584 | | Entry::Value(3, 2u8), |
585 | | Entry::Value(3, 2u8), |
586 | | Entry::Value(2, 2u8), |
587 | | Entry::Value(2, 2u8), |
588 | | Entry::Value(2, 2u8), |
589 | | Entry::Value(2, 2u8), |
590 | | Entry::Value(2, 2u8), |
591 | | Entry::Value(2, 2u8), |
592 | | Entry::Value(2, 2u8), |
593 | | Entry::Value(2, 2u8), |
594 | | ]; |
595 | 0 | pub fn decode(reader: &mut impl BitReader) -> Option<u16> { |
596 | 0 | let root = Entry::Prefix(5u8, &PREFIX_LUT_0); |
597 | 0 | root.find(reader) |
598 | 0 | } Unexecuted instantiation: fax::maps::black::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>> Unexecuted instantiation: fax::maps::black::decode::<_> |
599 | 0 | pub fn encode(val: u16) -> Option<Bits> { |
600 | 0 | let bits = match val { |
601 | 0 | 0 => Bits { data: 55u16, len: 10u8 }, |
602 | 0 | 1 => Bits { data: 2u16, len: 3u8 }, |
603 | 0 | 2 => Bits { data: 3u16, len: 2u8 }, |
604 | 0 | 3 => Bits { data: 2u16, len: 2u8 }, |
605 | 0 | 4 => Bits { data: 3u16, len: 3u8 }, |
606 | 0 | 5 => Bits { data: 3u16, len: 4u8 }, |
607 | 0 | 6 => Bits { data: 2u16, len: 4u8 }, |
608 | 0 | 7 => Bits { data: 3u16, len: 5u8 }, |
609 | 0 | 8 => Bits { data: 5u16, len: 6u8 }, |
610 | 0 | 9 => Bits { data: 4u16, len: 6u8 }, |
611 | 0 | 10 => Bits { data: 4u16, len: 7u8 }, |
612 | 0 | 11 => Bits { data: 5u16, len: 7u8 }, |
613 | 0 | 12 => Bits { data: 7u16, len: 7u8 }, |
614 | 0 | 13 => Bits { data: 4u16, len: 8u8 }, |
615 | 0 | 14 => Bits { data: 7u16, len: 8u8 }, |
616 | 0 | 15 => Bits { data: 24u16, len: 9u8 }, |
617 | 0 | 16 => Bits { data: 23u16, len: 10u8 }, |
618 | 0 | 17 => Bits { data: 24u16, len: 10u8 }, |
619 | 0 | 18 => Bits { data: 8u16, len: 10u8 }, |
620 | 0 | 19 => Bits { data: 103u16, len: 11u8 }, |
621 | 0 | 20 => Bits { data: 104u16, len: 11u8 }, |
622 | 0 | 21 => Bits { data: 108u16, len: 11u8 }, |
623 | 0 | 22 => Bits { data: 55u16, len: 11u8 }, |
624 | 0 | 23 => Bits { data: 40u16, len: 11u8 }, |
625 | 0 | 24 => Bits { data: 23u16, len: 11u8 }, |
626 | 0 | 25 => Bits { data: 24u16, len: 11u8 }, |
627 | 0 | 26 => Bits { data: 202u16, len: 12u8 }, |
628 | 0 | 27 => Bits { data: 203u16, len: 12u8 }, |
629 | 0 | 28 => Bits { data: 204u16, len: 12u8 }, |
630 | 0 | 29 => Bits { data: 205u16, len: 12u8 }, |
631 | 0 | 30 => Bits { data: 104u16, len: 12u8 }, |
632 | 0 | 31 => Bits { data: 105u16, len: 12u8 }, |
633 | 0 | 32 => Bits { data: 106u16, len: 12u8 }, |
634 | 0 | 33 => Bits { data: 107u16, len: 12u8 }, |
635 | 0 | 34 => Bits { data: 210u16, len: 12u8 }, |
636 | 0 | 35 => Bits { data: 211u16, len: 12u8 }, |
637 | 0 | 36 => Bits { data: 212u16, len: 12u8 }, |
638 | 0 | 37 => Bits { data: 213u16, len: 12u8 }, |
639 | 0 | 38 => Bits { data: 214u16, len: 12u8 }, |
640 | 0 | 39 => Bits { data: 215u16, len: 12u8 }, |
641 | 0 | 40 => Bits { data: 108u16, len: 12u8 }, |
642 | 0 | 41 => Bits { data: 109u16, len: 12u8 }, |
643 | 0 | 42 => Bits { data: 218u16, len: 12u8 }, |
644 | 0 | 43 => Bits { data: 219u16, len: 12u8 }, |
645 | 0 | 44 => Bits { data: 84u16, len: 12u8 }, |
646 | 0 | 45 => Bits { data: 85u16, len: 12u8 }, |
647 | 0 | 46 => Bits { data: 86u16, len: 12u8 }, |
648 | 0 | 47 => Bits { data: 87u16, len: 12u8 }, |
649 | 0 | 48 => Bits { data: 100u16, len: 12u8 }, |
650 | 0 | 49 => Bits { data: 101u16, len: 12u8 }, |
651 | 0 | 50 => Bits { data: 82u16, len: 12u8 }, |
652 | 0 | 51 => Bits { data: 83u16, len: 12u8 }, |
653 | 0 | 52 => Bits { data: 36u16, len: 12u8 }, |
654 | 0 | 53 => Bits { data: 55u16, len: 12u8 }, |
655 | 0 | 54 => Bits { data: 56u16, len: 12u8 }, |
656 | 0 | 55 => Bits { data: 39u16, len: 12u8 }, |
657 | 0 | 56 => Bits { data: 40u16, len: 12u8 }, |
658 | 0 | 57 => Bits { data: 88u16, len: 12u8 }, |
659 | 0 | 58 => Bits { data: 89u16, len: 12u8 }, |
660 | 0 | 59 => Bits { data: 43u16, len: 12u8 }, |
661 | 0 | 60 => Bits { data: 44u16, len: 12u8 }, |
662 | 0 | 61 => Bits { data: 90u16, len: 12u8 }, |
663 | 0 | 62 => Bits { data: 102u16, len: 12u8 }, |
664 | 0 | 63 => Bits { data: 103u16, len: 12u8 }, |
665 | 0 | 64 => Bits { data: 15u16, len: 10u8 }, |
666 | 0 | 128 => Bits { data: 200u16, len: 12u8 }, |
667 | 0 | 192 => Bits { data: 201u16, len: 12u8 }, |
668 | 0 | 256 => Bits { data: 91u16, len: 12u8 }, |
669 | 0 | 320 => Bits { data: 51u16, len: 12u8 }, |
670 | 0 | 384 => Bits { data: 52u16, len: 12u8 }, |
671 | 0 | 448 => Bits { data: 53u16, len: 12u8 }, |
672 | 0 | 512 => Bits { data: 108u16, len: 13u8 }, |
673 | 0 | 576 => Bits { data: 109u16, len: 13u8 }, |
674 | 0 | 640 => Bits { data: 74u16, len: 13u8 }, |
675 | 0 | 704 => Bits { data: 75u16, len: 13u8 }, |
676 | 0 | 768 => Bits { data: 76u16, len: 13u8 }, |
677 | 0 | 832 => Bits { data: 77u16, len: 13u8 }, |
678 | 0 | 896 => Bits { data: 114u16, len: 13u8 }, |
679 | 0 | 960 => Bits { data: 115u16, len: 13u8 }, |
680 | 0 | 1024 => Bits { data: 116u16, len: 13u8 }, |
681 | 0 | 1088 => Bits { data: 117u16, len: 13u8 }, |
682 | 0 | 1152 => Bits { data: 118u16, len: 13u8 }, |
683 | 0 | 1216 => Bits { data: 119u16, len: 13u8 }, |
684 | 0 | 1280 => Bits { data: 82u16, len: 13u8 }, |
685 | 0 | 1344 => Bits { data: 83u16, len: 13u8 }, |
686 | 0 | 1408 => Bits { data: 84u16, len: 13u8 }, |
687 | 0 | 1472 => Bits { data: 85u16, len: 13u8 }, |
688 | 0 | 1536 => Bits { data: 90u16, len: 13u8 }, |
689 | 0 | 1600 => Bits { data: 91u16, len: 13u8 }, |
690 | 0 | 1664 => Bits { data: 100u16, len: 13u8 }, |
691 | 0 | 1728 => Bits { data: 101u16, len: 13u8 }, |
692 | 0 | 1792 => Bits { data: 8u16, len: 11u8 }, |
693 | 0 | 1856 => Bits { data: 12u16, len: 11u8 }, |
694 | 0 | 1920 => Bits { data: 13u16, len: 11u8 }, |
695 | 0 | 1984 => Bits { data: 18u16, len: 12u8 }, |
696 | 0 | 2048 => Bits { data: 19u16, len: 12u8 }, |
697 | 0 | 2112 => Bits { data: 20u16, len: 12u8 }, |
698 | 0 | 2176 => Bits { data: 21u16, len: 12u8 }, |
699 | 0 | 2240 => Bits { data: 22u16, len: 12u8 }, |
700 | 0 | 2304 => Bits { data: 23u16, len: 12u8 }, |
701 | 0 | 2368 => Bits { data: 28u16, len: 12u8 }, |
702 | 0 | 2432 => Bits { data: 29u16, len: 12u8 }, |
703 | 0 | 2496 => Bits { data: 30u16, len: 12u8 }, |
704 | 0 | 2560 => Bits { data: 31u16, len: 12u8 }, |
705 | 0 | _ => return None, |
706 | | }; |
707 | 0 | Some(bits) |
708 | 0 | } |
709 | | pub static ENTRIES: [(u16, Bits); 104usize] = [ |
710 | | (0, Bits { data: 55u16, len: 10u8 }), |
711 | | (1, Bits { data: 2u16, len: 3u8 }), |
712 | | (2, Bits { data: 3u16, len: 2u8 }), |
713 | | (3, Bits { data: 2u16, len: 2u8 }), |
714 | | (4, Bits { data: 3u16, len: 3u8 }), |
715 | | (5, Bits { data: 3u16, len: 4u8 }), |
716 | | (6, Bits { data: 2u16, len: 4u8 }), |
717 | | (7, Bits { data: 3u16, len: 5u8 }), |
718 | | (8, Bits { data: 5u16, len: 6u8 }), |
719 | | (9, Bits { data: 4u16, len: 6u8 }), |
720 | | (10, Bits { data: 4u16, len: 7u8 }), |
721 | | (11, Bits { data: 5u16, len: 7u8 }), |
722 | | (12, Bits { data: 7u16, len: 7u8 }), |
723 | | (13, Bits { data: 4u16, len: 8u8 }), |
724 | | (14, Bits { data: 7u16, len: 8u8 }), |
725 | | (15, Bits { data: 24u16, len: 9u8 }), |
726 | | (16, Bits { data: 23u16, len: 10u8 }), |
727 | | (17, Bits { data: 24u16, len: 10u8 }), |
728 | | (18, Bits { data: 8u16, len: 10u8 }), |
729 | | (19, Bits { data: 103u16, len: 11u8 }), |
730 | | (20, Bits { data: 104u16, len: 11u8 }), |
731 | | (21, Bits { data: 108u16, len: 11u8 }), |
732 | | (22, Bits { data: 55u16, len: 11u8 }), |
733 | | (23, Bits { data: 40u16, len: 11u8 }), |
734 | | (24, Bits { data: 23u16, len: 11u8 }), |
735 | | (25, Bits { data: 24u16, len: 11u8 }), |
736 | | (26, Bits { data: 202u16, len: 12u8 }), |
737 | | (27, Bits { data: 203u16, len: 12u8 }), |
738 | | (28, Bits { data: 204u16, len: 12u8 }), |
739 | | (29, Bits { data: 205u16, len: 12u8 }), |
740 | | (30, Bits { data: 104u16, len: 12u8 }), |
741 | | (31, Bits { data: 105u16, len: 12u8 }), |
742 | | (32, Bits { data: 106u16, len: 12u8 }), |
743 | | (33, Bits { data: 107u16, len: 12u8 }), |
744 | | (34, Bits { data: 210u16, len: 12u8 }), |
745 | | (35, Bits { data: 211u16, len: 12u8 }), |
746 | | (36, Bits { data: 212u16, len: 12u8 }), |
747 | | (37, Bits { data: 213u16, len: 12u8 }), |
748 | | (38, Bits { data: 214u16, len: 12u8 }), |
749 | | (39, Bits { data: 215u16, len: 12u8 }), |
750 | | (40, Bits { data: 108u16, len: 12u8 }), |
751 | | (41, Bits { data: 109u16, len: 12u8 }), |
752 | | (42, Bits { data: 218u16, len: 12u8 }), |
753 | | (43, Bits { data: 219u16, len: 12u8 }), |
754 | | (44, Bits { data: 84u16, len: 12u8 }), |
755 | | (45, Bits { data: 85u16, len: 12u8 }), |
756 | | (46, Bits { data: 86u16, len: 12u8 }), |
757 | | (47, Bits { data: 87u16, len: 12u8 }), |
758 | | (48, Bits { data: 100u16, len: 12u8 }), |
759 | | (49, Bits { data: 101u16, len: 12u8 }), |
760 | | (50, Bits { data: 82u16, len: 12u8 }), |
761 | | (51, Bits { data: 83u16, len: 12u8 }), |
762 | | (52, Bits { data: 36u16, len: 12u8 }), |
763 | | (53, Bits { data: 55u16, len: 12u8 }), |
764 | | (54, Bits { data: 56u16, len: 12u8 }), |
765 | | (55, Bits { data: 39u16, len: 12u8 }), |
766 | | (56, Bits { data: 40u16, len: 12u8 }), |
767 | | (57, Bits { data: 88u16, len: 12u8 }), |
768 | | (58, Bits { data: 89u16, len: 12u8 }), |
769 | | (59, Bits { data: 43u16, len: 12u8 }), |
770 | | (60, Bits { data: 44u16, len: 12u8 }), |
771 | | (61, Bits { data: 90u16, len: 12u8 }), |
772 | | (62, Bits { data: 102u16, len: 12u8 }), |
773 | | (63, Bits { data: 103u16, len: 12u8 }), |
774 | | (64, Bits { data: 15u16, len: 10u8 }), |
775 | | (128, Bits { data: 200u16, len: 12u8 }), |
776 | | (192, Bits { data: 201u16, len: 12u8 }), |
777 | | (256, Bits { data: 91u16, len: 12u8 }), |
778 | | (320, Bits { data: 51u16, len: 12u8 }), |
779 | | (384, Bits { data: 52u16, len: 12u8 }), |
780 | | (448, Bits { data: 53u16, len: 12u8 }), |
781 | | (512, Bits { data: 108u16, len: 13u8 }), |
782 | | (576, Bits { data: 109u16, len: 13u8 }), |
783 | | (640, Bits { data: 74u16, len: 13u8 }), |
784 | | (704, Bits { data: 75u16, len: 13u8 }), |
785 | | (768, Bits { data: 76u16, len: 13u8 }), |
786 | | (832, Bits { data: 77u16, len: 13u8 }), |
787 | | (896, Bits { data: 114u16, len: 13u8 }), |
788 | | (960, Bits { data: 115u16, len: 13u8 }), |
789 | | (1024, Bits { data: 116u16, len: 13u8 }), |
790 | | (1088, Bits { data: 117u16, len: 13u8 }), |
791 | | (1152, Bits { data: 118u16, len: 13u8 }), |
792 | | (1216, Bits { data: 119u16, len: 13u8 }), |
793 | | (1280, Bits { data: 82u16, len: 13u8 }), |
794 | | (1344, Bits { data: 83u16, len: 13u8 }), |
795 | | (1408, Bits { data: 84u16, len: 13u8 }), |
796 | | (1472, Bits { data: 85u16, len: 13u8 }), |
797 | | (1536, Bits { data: 90u16, len: 13u8 }), |
798 | | (1600, Bits { data: 91u16, len: 13u8 }), |
799 | | (1664, Bits { data: 100u16, len: 13u8 }), |
800 | | (1728, Bits { data: 101u16, len: 13u8 }), |
801 | | (1792, Bits { data: 8u16, len: 11u8 }), |
802 | | (1856, Bits { data: 12u16, len: 11u8 }), |
803 | | (1920, Bits { data: 13u16, len: 11u8 }), |
804 | | (1984, Bits { data: 18u16, len: 12u8 }), |
805 | | (2048, Bits { data: 19u16, len: 12u8 }), |
806 | | (2112, Bits { data: 20u16, len: 12u8 }), |
807 | | (2176, Bits { data: 21u16, len: 12u8 }), |
808 | | (2240, Bits { data: 22u16, len: 12u8 }), |
809 | | (2304, Bits { data: 23u16, len: 12u8 }), |
810 | | (2368, Bits { data: 28u16, len: 12u8 }), |
811 | | (2432, Bits { data: 29u16, len: 12u8 }), |
812 | | (2496, Bits { data: 30u16, len: 12u8 }), |
813 | | (2560, Bits { data: 31u16, len: 12u8 }), |
814 | | ]; |
815 | | } |
816 | | pub mod white { |
817 | | pub use super::*; |
818 | | use crate::{BitReader, Bits}; |
819 | | static LEAF_LUT_0000: [Option<(u16, u8)>; 256usize] = [ |
820 | | None, |
821 | | None, |
822 | | None, |
823 | | None, |
824 | | None, |
825 | | None, |
826 | | None, |
827 | | None, |
828 | | None, |
829 | | None, |
830 | | None, |
831 | | None, |
832 | | None, |
833 | | None, |
834 | | None, |
835 | | None, |
836 | | Some((1792, 7u8)), |
837 | | Some((1792, 7u8)), |
838 | | Some((1984, 8u8)), |
839 | | Some((2048, 8u8)), |
840 | | Some((2112, 8u8)), |
841 | | Some((2176, 8u8)), |
842 | | Some((2240, 8u8)), |
843 | | Some((2304, 8u8)), |
844 | | Some((1856, 7u8)), |
845 | | Some((1856, 7u8)), |
846 | | Some((1920, 7u8)), |
847 | | Some((1920, 7u8)), |
848 | | Some((2368, 8u8)), |
849 | | Some((2432, 8u8)), |
850 | | Some((2496, 8u8)), |
851 | | Some((2560, 8u8)), |
852 | | Some((29, 4u8)), |
853 | | Some((29, 4u8)), |
854 | | Some((29, 4u8)), |
855 | | Some((29, 4u8)), |
856 | | Some((29, 4u8)), |
857 | | Some((29, 4u8)), |
858 | | Some((29, 4u8)), |
859 | | Some((29, 4u8)), |
860 | | Some((29, 4u8)), |
861 | | Some((29, 4u8)), |
862 | | Some((29, 4u8)), |
863 | | Some((29, 4u8)), |
864 | | Some((29, 4u8)), |
865 | | Some((29, 4u8)), |
866 | | Some((29, 4u8)), |
867 | | Some((29, 4u8)), |
868 | | Some((30, 4u8)), |
869 | | Some((30, 4u8)), |
870 | | Some((30, 4u8)), |
871 | | Some((30, 4u8)), |
872 | | Some((30, 4u8)), |
873 | | Some((30, 4u8)), |
874 | | Some((30, 4u8)), |
875 | | Some((30, 4u8)), |
876 | | Some((30, 4u8)), |
877 | | Some((30, 4u8)), |
878 | | Some((30, 4u8)), |
879 | | Some((30, 4u8)), |
880 | | Some((30, 4u8)), |
881 | | Some((30, 4u8)), |
882 | | Some((30, 4u8)), |
883 | | Some((30, 4u8)), |
884 | | Some((45, 4u8)), |
885 | | Some((45, 4u8)), |
886 | | Some((45, 4u8)), |
887 | | Some((45, 4u8)), |
888 | | Some((45, 4u8)), |
889 | | Some((45, 4u8)), |
890 | | Some((45, 4u8)), |
891 | | Some((45, 4u8)), |
892 | | Some((45, 4u8)), |
893 | | Some((45, 4u8)), |
894 | | Some((45, 4u8)), |
895 | | Some((45, 4u8)), |
896 | | Some((45, 4u8)), |
897 | | Some((45, 4u8)), |
898 | | Some((45, 4u8)), |
899 | | Some((45, 4u8)), |
900 | | Some((46, 4u8)), |
901 | | Some((46, 4u8)), |
902 | | Some((46, 4u8)), |
903 | | Some((46, 4u8)), |
904 | | Some((46, 4u8)), |
905 | | Some((46, 4u8)), |
906 | | Some((46, 4u8)), |
907 | | Some((46, 4u8)), |
908 | | Some((46, 4u8)), |
909 | | Some((46, 4u8)), |
910 | | Some((46, 4u8)), |
911 | | Some((46, 4u8)), |
912 | | Some((46, 4u8)), |
913 | | Some((46, 4u8)), |
914 | | Some((46, 4u8)), |
915 | | Some((46, 4u8)), |
916 | | Some((22, 3u8)), |
917 | | Some((22, 3u8)), |
918 | | Some((22, 3u8)), |
919 | | Some((22, 3u8)), |
920 | | Some((22, 3u8)), |
921 | | Some((22, 3u8)), |
922 | | Some((22, 3u8)), |
923 | | Some((22, 3u8)), |
924 | | Some((22, 3u8)), |
925 | | Some((22, 3u8)), |
926 | | Some((22, 3u8)), |
927 | | Some((22, 3u8)), |
928 | | Some((22, 3u8)), |
929 | | Some((22, 3u8)), |
930 | | Some((22, 3u8)), |
931 | | Some((22, 3u8)), |
932 | | Some((22, 3u8)), |
933 | | Some((22, 3u8)), |
934 | | Some((22, 3u8)), |
935 | | Some((22, 3u8)), |
936 | | Some((22, 3u8)), |
937 | | Some((22, 3u8)), |
938 | | Some((22, 3u8)), |
939 | | Some((22, 3u8)), |
940 | | Some((22, 3u8)), |
941 | | Some((22, 3u8)), |
942 | | Some((22, 3u8)), |
943 | | Some((22, 3u8)), |
944 | | Some((22, 3u8)), |
945 | | Some((22, 3u8)), |
946 | | Some((22, 3u8)), |
947 | | Some((22, 3u8)), |
948 | | Some((23, 3u8)), |
949 | | Some((23, 3u8)), |
950 | | Some((23, 3u8)), |
951 | | Some((23, 3u8)), |
952 | | Some((23, 3u8)), |
953 | | Some((23, 3u8)), |
954 | | Some((23, 3u8)), |
955 | | Some((23, 3u8)), |
956 | | Some((23, 3u8)), |
957 | | Some((23, 3u8)), |
958 | | Some((23, 3u8)), |
959 | | Some((23, 3u8)), |
960 | | Some((23, 3u8)), |
961 | | Some((23, 3u8)), |
962 | | Some((23, 3u8)), |
963 | | Some((23, 3u8)), |
964 | | Some((23, 3u8)), |
965 | | Some((23, 3u8)), |
966 | | Some((23, 3u8)), |
967 | | Some((23, 3u8)), |
968 | | Some((23, 3u8)), |
969 | | Some((23, 3u8)), |
970 | | Some((23, 3u8)), |
971 | | Some((23, 3u8)), |
972 | | Some((23, 3u8)), |
973 | | Some((23, 3u8)), |
974 | | Some((23, 3u8)), |
975 | | Some((23, 3u8)), |
976 | | Some((23, 3u8)), |
977 | | Some((23, 3u8)), |
978 | | Some((23, 3u8)), |
979 | | Some((23, 3u8)), |
980 | | Some((47, 4u8)), |
981 | | Some((47, 4u8)), |
982 | | Some((47, 4u8)), |
983 | | Some((47, 4u8)), |
984 | | Some((47, 4u8)), |
985 | | Some((47, 4u8)), |
986 | | Some((47, 4u8)), |
987 | | Some((47, 4u8)), |
988 | | Some((47, 4u8)), |
989 | | Some((47, 4u8)), |
990 | | Some((47, 4u8)), |
991 | | Some((47, 4u8)), |
992 | | Some((47, 4u8)), |
993 | | Some((47, 4u8)), |
994 | | Some((47, 4u8)), |
995 | | Some((47, 4u8)), |
996 | | Some((48, 4u8)), |
997 | | Some((48, 4u8)), |
998 | | Some((48, 4u8)), |
999 | | Some((48, 4u8)), |
1000 | | Some((48, 4u8)), |
1001 | | Some((48, 4u8)), |
1002 | | Some((48, 4u8)), |
1003 | | Some((48, 4u8)), |
1004 | | Some((48, 4u8)), |
1005 | | Some((48, 4u8)), |
1006 | | Some((48, 4u8)), |
1007 | | Some((48, 4u8)), |
1008 | | Some((48, 4u8)), |
1009 | | Some((48, 4u8)), |
1010 | | Some((48, 4u8)), |
1011 | | Some((48, 4u8)), |
1012 | | Some((13, 2u8)), |
1013 | | Some((13, 2u8)), |
1014 | | Some((13, 2u8)), |
1015 | | Some((13, 2u8)), |
1016 | | Some((13, 2u8)), |
1017 | | Some((13, 2u8)), |
1018 | | Some((13, 2u8)), |
1019 | | Some((13, 2u8)), |
1020 | | Some((13, 2u8)), |
1021 | | Some((13, 2u8)), |
1022 | | Some((13, 2u8)), |
1023 | | Some((13, 2u8)), |
1024 | | Some((13, 2u8)), |
1025 | | Some((13, 2u8)), |
1026 | | Some((13, 2u8)), |
1027 | | Some((13, 2u8)), |
1028 | | Some((13, 2u8)), |
1029 | | Some((13, 2u8)), |
1030 | | Some((13, 2u8)), |
1031 | | Some((13, 2u8)), |
1032 | | Some((13, 2u8)), |
1033 | | Some((13, 2u8)), |
1034 | | Some((13, 2u8)), |
1035 | | Some((13, 2u8)), |
1036 | | Some((13, 2u8)), |
1037 | | Some((13, 2u8)), |
1038 | | Some((13, 2u8)), |
1039 | | Some((13, 2u8)), |
1040 | | Some((13, 2u8)), |
1041 | | Some((13, 2u8)), |
1042 | | Some((13, 2u8)), |
1043 | | Some((13, 2u8)), |
1044 | | Some((13, 2u8)), |
1045 | | Some((13, 2u8)), |
1046 | | Some((13, 2u8)), |
1047 | | Some((13, 2u8)), |
1048 | | Some((13, 2u8)), |
1049 | | Some((13, 2u8)), |
1050 | | Some((13, 2u8)), |
1051 | | Some((13, 2u8)), |
1052 | | Some((13, 2u8)), |
1053 | | Some((13, 2u8)), |
1054 | | Some((13, 2u8)), |
1055 | | Some((13, 2u8)), |
1056 | | Some((13, 2u8)), |
1057 | | Some((13, 2u8)), |
1058 | | Some((13, 2u8)), |
1059 | | Some((13, 2u8)), |
1060 | | Some((13, 2u8)), |
1061 | | Some((13, 2u8)), |
1062 | | Some((13, 2u8)), |
1063 | | Some((13, 2u8)), |
1064 | | Some((13, 2u8)), |
1065 | | Some((13, 2u8)), |
1066 | | Some((13, 2u8)), |
1067 | | Some((13, 2u8)), |
1068 | | Some((13, 2u8)), |
1069 | | Some((13, 2u8)), |
1070 | | Some((13, 2u8)), |
1071 | | Some((13, 2u8)), |
1072 | | Some((13, 2u8)), |
1073 | | Some((13, 2u8)), |
1074 | | Some((13, 2u8)), |
1075 | | Some((13, 2u8)), |
1076 | | ]; |
1077 | | static LEAF_LUT_0001: [Option<(u16, u8)>; 16usize] = [ |
1078 | | Some((20, 3u8)), |
1079 | | Some((20, 3u8)), |
1080 | | Some((33, 4u8)), |
1081 | | Some((34, 4u8)), |
1082 | | Some((35, 4u8)), |
1083 | | Some((36, 4u8)), |
1084 | | Some((37, 4u8)), |
1085 | | Some((38, 4u8)), |
1086 | | Some((19, 3u8)), |
1087 | | Some((19, 3u8)), |
1088 | | Some((31, 4u8)), |
1089 | | Some((32, 4u8)), |
1090 | | Some((1, 2u8)), |
1091 | | Some((1, 2u8)), |
1092 | | Some((1, 2u8)), |
1093 | | Some((1, 2u8)), |
1094 | | ]; |
1095 | | static LEAF_LUT_0010: [Option<(u16, u8)>; 16usize] = [ |
1096 | | Some((12, 2u8)), |
1097 | | Some((12, 2u8)), |
1098 | | Some((12, 2u8)), |
1099 | | Some((12, 2u8)), |
1100 | | Some((53, 4u8)), |
1101 | | Some((54, 4u8)), |
1102 | | Some((26, 3u8)), |
1103 | | Some((26, 3u8)), |
1104 | | Some((39, 4u8)), |
1105 | | Some((40, 4u8)), |
1106 | | Some((41, 4u8)), |
1107 | | Some((42, 4u8)), |
1108 | | Some((43, 4u8)), |
1109 | | Some((44, 4u8)), |
1110 | | Some((21, 3u8)), |
1111 | | Some((21, 3u8)), |
1112 | | ]; |
1113 | | static LEAF_LUT_0011: [Option<(u16, u8)>; 16usize] = [ |
1114 | | Some((28, 3u8)), |
1115 | | Some((28, 3u8)), |
1116 | | Some((61, 4u8)), |
1117 | | Some((62, 4u8)), |
1118 | | Some((63, 4u8)), |
1119 | | Some((0, 4u8)), |
1120 | | Some((320, 4u8)), |
1121 | | Some((384, 4u8)), |
1122 | | Some((10, 1u8)), |
1123 | | Some((10, 1u8)), |
1124 | | Some((10, 1u8)), |
1125 | | Some((10, 1u8)), |
1126 | | Some((10, 1u8)), |
1127 | | Some((10, 1u8)), |
1128 | | Some((10, 1u8)), |
1129 | | Some((10, 1u8)), |
1130 | | ]; |
1131 | | static LEAF_LUT_0100: [Option<(u16, u8)>; 32usize] = [ |
1132 | | Some((11, 1u8)), |
1133 | | Some((11, 1u8)), |
1134 | | Some((11, 1u8)), |
1135 | | Some((11, 1u8)), |
1136 | | Some((11, 1u8)), |
1137 | | Some((11, 1u8)), |
1138 | | Some((11, 1u8)), |
1139 | | Some((11, 1u8)), |
1140 | | Some((11, 1u8)), |
1141 | | Some((11, 1u8)), |
1142 | | Some((11, 1u8)), |
1143 | | Some((11, 1u8)), |
1144 | | Some((11, 1u8)), |
1145 | | Some((11, 1u8)), |
1146 | | Some((11, 1u8)), |
1147 | | Some((11, 1u8)), |
1148 | | Some((27, 3u8)), |
1149 | | Some((27, 3u8)), |
1150 | | Some((27, 3u8)), |
1151 | | Some((27, 3u8)), |
1152 | | Some((59, 4u8)), |
1153 | | Some((59, 4u8)), |
1154 | | Some((60, 4u8)), |
1155 | | Some((60, 4u8)), |
1156 | | Some((1472, 5u8)), |
1157 | | Some((1536, 5u8)), |
1158 | | Some((1600, 5u8)), |
1159 | | Some((1728, 5u8)), |
1160 | | Some((18, 3u8)), |
1161 | | Some((18, 3u8)), |
1162 | | Some((18, 3u8)), |
1163 | | Some((18, 3u8)), |
1164 | | ]; |
1165 | | static LEAF_LUT_0101: [Option<(u16, u8)>; 16usize] = [ |
1166 | | Some((24, 3u8)), |
1167 | | Some((24, 3u8)), |
1168 | | Some((49, 4u8)), |
1169 | | Some((50, 4u8)), |
1170 | | Some((51, 4u8)), |
1171 | | Some((52, 4u8)), |
1172 | | Some((25, 3u8)), |
1173 | | Some((25, 3u8)), |
1174 | | Some((55, 4u8)), |
1175 | | Some((56, 4u8)), |
1176 | | Some((57, 4u8)), |
1177 | | Some((58, 4u8)), |
1178 | | Some((192, 2u8)), |
1179 | | Some((192, 2u8)), |
1180 | | Some((192, 2u8)), |
1181 | | Some((192, 2u8)), |
1182 | | ]; |
1183 | | static LEAF_LUT_0110: [Option<(u16, u8)>; 32usize] = [ |
1184 | | Some((1664, 2u8)), |
1185 | | Some((1664, 2u8)), |
1186 | | Some((1664, 2u8)), |
1187 | | Some((1664, 2u8)), |
1188 | | Some((1664, 2u8)), |
1189 | | Some((1664, 2u8)), |
1190 | | Some((1664, 2u8)), |
1191 | | Some((1664, 2u8)), |
1192 | | Some((448, 4u8)), |
1193 | | Some((448, 4u8)), |
1194 | | Some((512, 4u8)), |
1195 | | Some((512, 4u8)), |
1196 | | Some((704, 5u8)), |
1197 | | Some((768, 5u8)), |
1198 | | Some((640, 4u8)), |
1199 | | Some((640, 4u8)), |
1200 | | Some((576, 4u8)), |
1201 | | Some((576, 4u8)), |
1202 | | Some((832, 5u8)), |
1203 | | Some((896, 5u8)), |
1204 | | Some((960, 5u8)), |
1205 | | Some((1024, 5u8)), |
1206 | | Some((1088, 5u8)), |
1207 | | Some((1152, 5u8)), |
1208 | | Some((1216, 5u8)), |
1209 | | Some((1280, 5u8)), |
1210 | | Some((1344, 5u8)), |
1211 | | Some((1408, 5u8)), |
1212 | | Some((256, 3u8)), |
1213 | | Some((256, 3u8)), |
1214 | | Some((256, 3u8)), |
1215 | | Some((256, 3u8)), |
1216 | | ]; |
1217 | | static LEAF_LUT_1001: [Option<(u16, u8)>; 2usize] = [Some((128, 1u8)), Some((8, 1u8))]; |
1218 | | static LEAF_LUT_1010: [Option<(u16, u8)>; 4usize] = [Some((9, 1u8)), Some((9, 1u8)), Some((16, 2u8)), Some((17, 2u8))]; |
1219 | | static LEAF_LUT_1101: [Option<(u16, u8)>; 4usize] = [Some((14, 2u8)), Some((15, 2u8)), Some((64, 1u8)), Some((64, 1u8))]; |
1220 | | static PREFIX_LUT_0: [Entry<u16>; 16usize] = [ |
1221 | | Entry::Leaf(8u8, &LEAF_LUT_0000), |
1222 | | Entry::Leaf(4u8, &LEAF_LUT_0001), |
1223 | | Entry::Leaf(4u8, &LEAF_LUT_0010), |
1224 | | Entry::Leaf(4u8, &LEAF_LUT_0011), |
1225 | | Entry::Leaf(5u8, &LEAF_LUT_0100), |
1226 | | Entry::Leaf(4u8, &LEAF_LUT_0101), |
1227 | | Entry::Leaf(5u8, &LEAF_LUT_0110), |
1228 | | Entry::Value(2, 4u8), |
1229 | | Entry::Value(3, 4u8), |
1230 | | Entry::Leaf(1u8, &LEAF_LUT_1001), |
1231 | | Entry::Leaf(2u8, &LEAF_LUT_1010), |
1232 | | Entry::Value(4, 4u8), |
1233 | | Entry::Value(5, 4u8), |
1234 | | Entry::Leaf(2u8, &LEAF_LUT_1101), |
1235 | | Entry::Value(6, 4u8), |
1236 | | Entry::Value(7, 4u8), |
1237 | | ]; |
1238 | 0 | pub fn decode(reader: &mut impl BitReader) -> Option<u16> { |
1239 | 0 | let root = Entry::Prefix(4u8, &PREFIX_LUT_0); |
1240 | 0 | root.find(reader) |
1241 | 0 | } Unexecuted instantiation: fax::maps::white::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>> Unexecuted instantiation: fax::maps::white::decode::<_> |
1242 | 0 | pub fn encode(val: u16) -> Option<Bits> { |
1243 | 0 | let bits = match val { |
1244 | 0 | 0 => Bits { data: 53u16, len: 8u8 }, |
1245 | 0 | 1 => Bits { data: 7u16, len: 6u8 }, |
1246 | 0 | 2 => Bits { data: 7u16, len: 4u8 }, |
1247 | 0 | 3 => Bits { data: 8u16, len: 4u8 }, |
1248 | 0 | 4 => Bits { data: 11u16, len: 4u8 }, |
1249 | 0 | 5 => Bits { data: 12u16, len: 4u8 }, |
1250 | 0 | 6 => Bits { data: 14u16, len: 4u8 }, |
1251 | 0 | 7 => Bits { data: 15u16, len: 4u8 }, |
1252 | 0 | 8 => Bits { data: 19u16, len: 5u8 }, |
1253 | 0 | 9 => Bits { data: 20u16, len: 5u8 }, |
1254 | 0 | 10 => Bits { data: 7u16, len: 5u8 }, |
1255 | 0 | 11 => Bits { data: 8u16, len: 5u8 }, |
1256 | 0 | 12 => Bits { data: 8u16, len: 6u8 }, |
1257 | 0 | 13 => Bits { data: 3u16, len: 6u8 }, |
1258 | 0 | 14 => Bits { data: 52u16, len: 6u8 }, |
1259 | 0 | 15 => Bits { data: 53u16, len: 6u8 }, |
1260 | 0 | 16 => Bits { data: 42u16, len: 6u8 }, |
1261 | 0 | 17 => Bits { data: 43u16, len: 6u8 }, |
1262 | 0 | 18 => Bits { data: 39u16, len: 7u8 }, |
1263 | 0 | 19 => Bits { data: 12u16, len: 7u8 }, |
1264 | 0 | 20 => Bits { data: 8u16, len: 7u8 }, |
1265 | 0 | 21 => Bits { data: 23u16, len: 7u8 }, |
1266 | 0 | 22 => Bits { data: 3u16, len: 7u8 }, |
1267 | 0 | 23 => Bits { data: 4u16, len: 7u8 }, |
1268 | 0 | 24 => Bits { data: 40u16, len: 7u8 }, |
1269 | 0 | 25 => Bits { data: 43u16, len: 7u8 }, |
1270 | 0 | 26 => Bits { data: 19u16, len: 7u8 }, |
1271 | 0 | 27 => Bits { data: 36u16, len: 7u8 }, |
1272 | 0 | 28 => Bits { data: 24u16, len: 7u8 }, |
1273 | 0 | 29 => Bits { data: 2u16, len: 8u8 }, |
1274 | 0 | 30 => Bits { data: 3u16, len: 8u8 }, |
1275 | 0 | 31 => Bits { data: 26u16, len: 8u8 }, |
1276 | 0 | 32 => Bits { data: 27u16, len: 8u8 }, |
1277 | 0 | 33 => Bits { data: 18u16, len: 8u8 }, |
1278 | 0 | 34 => Bits { data: 19u16, len: 8u8 }, |
1279 | 0 | 35 => Bits { data: 20u16, len: 8u8 }, |
1280 | 0 | 36 => Bits { data: 21u16, len: 8u8 }, |
1281 | 0 | 37 => Bits { data: 22u16, len: 8u8 }, |
1282 | 0 | 38 => Bits { data: 23u16, len: 8u8 }, |
1283 | 0 | 39 => Bits { data: 40u16, len: 8u8 }, |
1284 | 0 | 40 => Bits { data: 41u16, len: 8u8 }, |
1285 | 0 | 41 => Bits { data: 42u16, len: 8u8 }, |
1286 | 0 | 42 => Bits { data: 43u16, len: 8u8 }, |
1287 | 0 | 43 => Bits { data: 44u16, len: 8u8 }, |
1288 | 0 | 44 => Bits { data: 45u16, len: 8u8 }, |
1289 | 0 | 45 => Bits { data: 4u16, len: 8u8 }, |
1290 | 0 | 46 => Bits { data: 5u16, len: 8u8 }, |
1291 | 0 | 47 => Bits { data: 10u16, len: 8u8 }, |
1292 | 0 | 48 => Bits { data: 11u16, len: 8u8 }, |
1293 | 0 | 49 => Bits { data: 82u16, len: 8u8 }, |
1294 | 0 | 50 => Bits { data: 83u16, len: 8u8 }, |
1295 | 0 | 51 => Bits { data: 84u16, len: 8u8 }, |
1296 | 0 | 52 => Bits { data: 85u16, len: 8u8 }, |
1297 | 0 | 53 => Bits { data: 36u16, len: 8u8 }, |
1298 | 0 | 54 => Bits { data: 37u16, len: 8u8 }, |
1299 | 0 | 55 => Bits { data: 88u16, len: 8u8 }, |
1300 | 0 | 56 => Bits { data: 89u16, len: 8u8 }, |
1301 | 0 | 57 => Bits { data: 90u16, len: 8u8 }, |
1302 | 0 | 58 => Bits { data: 91u16, len: 8u8 }, |
1303 | 0 | 59 => Bits { data: 74u16, len: 8u8 }, |
1304 | 0 | 60 => Bits { data: 75u16, len: 8u8 }, |
1305 | 0 | 61 => Bits { data: 50u16, len: 8u8 }, |
1306 | 0 | 62 => Bits { data: 51u16, len: 8u8 }, |
1307 | 0 | 63 => Bits { data: 52u16, len: 8u8 }, |
1308 | 0 | 64 => Bits { data: 27u16, len: 5u8 }, |
1309 | 0 | 128 => Bits { data: 18u16, len: 5u8 }, |
1310 | 0 | 192 => Bits { data: 23u16, len: 6u8 }, |
1311 | 0 | 256 => Bits { data: 55u16, len: 7u8 }, |
1312 | 0 | 320 => Bits { data: 54u16, len: 8u8 }, |
1313 | 0 | 384 => Bits { data: 55u16, len: 8u8 }, |
1314 | 0 | 448 => Bits { data: 100u16, len: 8u8 }, |
1315 | 0 | 512 => Bits { data: 101u16, len: 8u8 }, |
1316 | 0 | 576 => Bits { data: 104u16, len: 8u8 }, |
1317 | 0 | 640 => Bits { data: 103u16, len: 8u8 }, |
1318 | 0 | 704 => Bits { data: 204u16, len: 9u8 }, |
1319 | 0 | 768 => Bits { data: 205u16, len: 9u8 }, |
1320 | 0 | 832 => Bits { data: 210u16, len: 9u8 }, |
1321 | 0 | 896 => Bits { data: 211u16, len: 9u8 }, |
1322 | 0 | 960 => Bits { data: 212u16, len: 9u8 }, |
1323 | 0 | 1024 => Bits { data: 213u16, len: 9u8 }, |
1324 | 0 | 1088 => Bits { data: 214u16, len: 9u8 }, |
1325 | 0 | 1152 => Bits { data: 215u16, len: 9u8 }, |
1326 | 0 | 1216 => Bits { data: 216u16, len: 9u8 }, |
1327 | 0 | 1280 => Bits { data: 217u16, len: 9u8 }, |
1328 | 0 | 1344 => Bits { data: 218u16, len: 9u8 }, |
1329 | 0 | 1408 => Bits { data: 219u16, len: 9u8 }, |
1330 | 0 | 1472 => Bits { data: 152u16, len: 9u8 }, |
1331 | 0 | 1536 => Bits { data: 153u16, len: 9u8 }, |
1332 | 0 | 1600 => Bits { data: 154u16, len: 9u8 }, |
1333 | 0 | 1664 => Bits { data: 24u16, len: 6u8 }, |
1334 | 0 | 1728 => Bits { data: 155u16, len: 9u8 }, |
1335 | 0 | 1792 => Bits { data: 8u16, len: 11u8 }, |
1336 | 0 | 1856 => Bits { data: 12u16, len: 11u8 }, |
1337 | 0 | 1920 => Bits { data: 13u16, len: 11u8 }, |
1338 | 0 | 1984 => Bits { data: 18u16, len: 12u8 }, |
1339 | 0 | 2048 => Bits { data: 19u16, len: 12u8 }, |
1340 | 0 | 2112 => Bits { data: 20u16, len: 12u8 }, |
1341 | 0 | 2176 => Bits { data: 21u16, len: 12u8 }, |
1342 | 0 | 2240 => Bits { data: 22u16, len: 12u8 }, |
1343 | 0 | 2304 => Bits { data: 23u16, len: 12u8 }, |
1344 | 0 | 2368 => Bits { data: 28u16, len: 12u8 }, |
1345 | 0 | 2432 => Bits { data: 29u16, len: 12u8 }, |
1346 | 0 | 2496 => Bits { data: 30u16, len: 12u8 }, |
1347 | 0 | 2560 => Bits { data: 31u16, len: 12u8 }, |
1348 | 0 | _ => return None, |
1349 | | }; |
1350 | 0 | Some(bits) |
1351 | 0 | } |
1352 | | pub static ENTRIES: [(u16, Bits); 104usize] = [ |
1353 | | (0, Bits { data: 53u16, len: 8u8 }), |
1354 | | (1, Bits { data: 7u16, len: 6u8 }), |
1355 | | (2, Bits { data: 7u16, len: 4u8 }), |
1356 | | (3, Bits { data: 8u16, len: 4u8 }), |
1357 | | (4, Bits { data: 11u16, len: 4u8 }), |
1358 | | (5, Bits { data: 12u16, len: 4u8 }), |
1359 | | (6, Bits { data: 14u16, len: 4u8 }), |
1360 | | (7, Bits { data: 15u16, len: 4u8 }), |
1361 | | (8, Bits { data: 19u16, len: 5u8 }), |
1362 | | (9, Bits { data: 20u16, len: 5u8 }), |
1363 | | (10, Bits { data: 7u16, len: 5u8 }), |
1364 | | (11, Bits { data: 8u16, len: 5u8 }), |
1365 | | (12, Bits { data: 8u16, len: 6u8 }), |
1366 | | (13, Bits { data: 3u16, len: 6u8 }), |
1367 | | (14, Bits { data: 52u16, len: 6u8 }), |
1368 | | (15, Bits { data: 53u16, len: 6u8 }), |
1369 | | (16, Bits { data: 42u16, len: 6u8 }), |
1370 | | (17, Bits { data: 43u16, len: 6u8 }), |
1371 | | (18, Bits { data: 39u16, len: 7u8 }), |
1372 | | (19, Bits { data: 12u16, len: 7u8 }), |
1373 | | (20, Bits { data: 8u16, len: 7u8 }), |
1374 | | (21, Bits { data: 23u16, len: 7u8 }), |
1375 | | (22, Bits { data: 3u16, len: 7u8 }), |
1376 | | (23, Bits { data: 4u16, len: 7u8 }), |
1377 | | (24, Bits { data: 40u16, len: 7u8 }), |
1378 | | (25, Bits { data: 43u16, len: 7u8 }), |
1379 | | (26, Bits { data: 19u16, len: 7u8 }), |
1380 | | (27, Bits { data: 36u16, len: 7u8 }), |
1381 | | (28, Bits { data: 24u16, len: 7u8 }), |
1382 | | (29, Bits { data: 2u16, len: 8u8 }), |
1383 | | (30, Bits { data: 3u16, len: 8u8 }), |
1384 | | (31, Bits { data: 26u16, len: 8u8 }), |
1385 | | (32, Bits { data: 27u16, len: 8u8 }), |
1386 | | (33, Bits { data: 18u16, len: 8u8 }), |
1387 | | (34, Bits { data: 19u16, len: 8u8 }), |
1388 | | (35, Bits { data: 20u16, len: 8u8 }), |
1389 | | (36, Bits { data: 21u16, len: 8u8 }), |
1390 | | (37, Bits { data: 22u16, len: 8u8 }), |
1391 | | (38, Bits { data: 23u16, len: 8u8 }), |
1392 | | (39, Bits { data: 40u16, len: 8u8 }), |
1393 | | (40, Bits { data: 41u16, len: 8u8 }), |
1394 | | (41, Bits { data: 42u16, len: 8u8 }), |
1395 | | (42, Bits { data: 43u16, len: 8u8 }), |
1396 | | (43, Bits { data: 44u16, len: 8u8 }), |
1397 | | (44, Bits { data: 45u16, len: 8u8 }), |
1398 | | (45, Bits { data: 4u16, len: 8u8 }), |
1399 | | (46, Bits { data: 5u16, len: 8u8 }), |
1400 | | (47, Bits { data: 10u16, len: 8u8 }), |
1401 | | (48, Bits { data: 11u16, len: 8u8 }), |
1402 | | (49, Bits { data: 82u16, len: 8u8 }), |
1403 | | (50, Bits { data: 83u16, len: 8u8 }), |
1404 | | (51, Bits { data: 84u16, len: 8u8 }), |
1405 | | (52, Bits { data: 85u16, len: 8u8 }), |
1406 | | (53, Bits { data: 36u16, len: 8u8 }), |
1407 | | (54, Bits { data: 37u16, len: 8u8 }), |
1408 | | (55, Bits { data: 88u16, len: 8u8 }), |
1409 | | (56, Bits { data: 89u16, len: 8u8 }), |
1410 | | (57, Bits { data: 90u16, len: 8u8 }), |
1411 | | (58, Bits { data: 91u16, len: 8u8 }), |
1412 | | (59, Bits { data: 74u16, len: 8u8 }), |
1413 | | (60, Bits { data: 75u16, len: 8u8 }), |
1414 | | (61, Bits { data: 50u16, len: 8u8 }), |
1415 | | (62, Bits { data: 51u16, len: 8u8 }), |
1416 | | (63, Bits { data: 52u16, len: 8u8 }), |
1417 | | (64, Bits { data: 27u16, len: 5u8 }), |
1418 | | (128, Bits { data: 18u16, len: 5u8 }), |
1419 | | (192, Bits { data: 23u16, len: 6u8 }), |
1420 | | (256, Bits { data: 55u16, len: 7u8 }), |
1421 | | (320, Bits { data: 54u16, len: 8u8 }), |
1422 | | (384, Bits { data: 55u16, len: 8u8 }), |
1423 | | (448, Bits { data: 100u16, len: 8u8 }), |
1424 | | (512, Bits { data: 101u16, len: 8u8 }), |
1425 | | (576, Bits { data: 104u16, len: 8u8 }), |
1426 | | (640, Bits { data: 103u16, len: 8u8 }), |
1427 | | (704, Bits { data: 204u16, len: 9u8 }), |
1428 | | (768, Bits { data: 205u16, len: 9u8 }), |
1429 | | (832, Bits { data: 210u16, len: 9u8 }), |
1430 | | (896, Bits { data: 211u16, len: 9u8 }), |
1431 | | (960, Bits { data: 212u16, len: 9u8 }), |
1432 | | (1024, Bits { data: 213u16, len: 9u8 }), |
1433 | | (1088, Bits { data: 214u16, len: 9u8 }), |
1434 | | (1152, Bits { data: 215u16, len: 9u8 }), |
1435 | | (1216, Bits { data: 216u16, len: 9u8 }), |
1436 | | (1280, Bits { data: 217u16, len: 9u8 }), |
1437 | | (1344, Bits { data: 218u16, len: 9u8 }), |
1438 | | (1408, Bits { data: 219u16, len: 9u8 }), |
1439 | | (1472, Bits { data: 152u16, len: 9u8 }), |
1440 | | (1536, Bits { data: 153u16, len: 9u8 }), |
1441 | | (1600, Bits { data: 154u16, len: 9u8 }), |
1442 | | (1664, Bits { data: 24u16, len: 6u8 }), |
1443 | | (1728, Bits { data: 155u16, len: 9u8 }), |
1444 | | (1792, Bits { data: 8u16, len: 11u8 }), |
1445 | | (1856, Bits { data: 12u16, len: 11u8 }), |
1446 | | (1920, Bits { data: 13u16, len: 11u8 }), |
1447 | | (1984, Bits { data: 18u16, len: 12u8 }), |
1448 | | (2048, Bits { data: 19u16, len: 12u8 }), |
1449 | | (2112, Bits { data: 20u16, len: 12u8 }), |
1450 | | (2176, Bits { data: 21u16, len: 12u8 }), |
1451 | | (2240, Bits { data: 22u16, len: 12u8 }), |
1452 | | (2304, Bits { data: 23u16, len: 12u8 }), |
1453 | | (2368, Bits { data: 28u16, len: 12u8 }), |
1454 | | (2432, Bits { data: 29u16, len: 12u8 }), |
1455 | | (2496, Bits { data: 30u16, len: 12u8 }), |
1456 | | (2560, Bits { data: 31u16, len: 12u8 }), |
1457 | | ]; |
1458 | | } |