view src/filters/hq2x.h @ 135:eb6ba88088d3

Wrote a more efficient input-number-assembly program; 91 oc -> 60 oc.
author Dylan Holmes <ocsenave@gmail.com>
date Sun, 18 Mar 2012 05:13:19 -0500
parents f9f4f1b99eed
children
line wrap: on
line source
1 case 0 :
2 case 1 :
3 case 4 :
4 case 5 :
5 case 32 :
6 case 33 :
7 case 36 :
8 case 37 :
9 case 128 :
10 case 129 :
11 case 132 :
12 case 133 :
13 case 160 :
14 case 161 :
15 case 164 :
16 case 165 :
17 {
18 P0 = I211(4, 1, 3);
19 P1 = I211(4, 1, 5);
20 P2 = I211(4, 3, 7);
21 P3 = I211(4, 5, 7);
22 } break;
23 case 2 :
24 case 34 :
25 case 130 :
26 case 162 :
27 {
28 P0 = I31(4, 0);
29 P1 = I31(4, 2);
30 P2 = I211(4, 3, 7);
31 P3 = I211(4, 5, 7);
32 } break;
33 case 3 :
34 case 35 :
35 case 131 :
36 case 163 :
37 {
38 P0 = I31(4, 3);
39 P1 = I31(4, 2);
40 P2 = I211(4, 3, 7);
41 P3 = I211(4, 5, 7);
42 } break;
43 case 6 :
44 case 38 :
45 case 134 :
46 case 166 :
47 {
48 P0 = I31(4, 0);
49 P1 = I31(4, 5);
50 P2 = I211(4, 3, 7);
51 P3 = I211(4, 5, 7);
52 } break;
53 case 7 :
54 case 39 :
55 case 135 :
56 case 167 :
57 {
58 P0 = I31(4, 3);
59 P1 = I31(4, 5);
60 P2 = I211(4, 3, 7);
61 P3 = I211(4, 5, 7);
62 } break;
63 case 8 :
64 case 12 :
65 case 136 :
66 case 140 :
67 {
68 P0 = I31(4, 0);
69 P1 = I211(4, 1, 5);
70 P2 = I31(4, 6);
71 P3 = I211(4, 5, 7);
72 } break;
73 case 9 :
74 case 13 :
75 case 137 :
76 case 141 :
77 {
78 P0 = I31(4, 1);
79 P1 = I211(4, 1, 5);
80 P2 = I31(4, 6);
81 P3 = I211(4, 5, 7);
82 } break;
83 case 10 :
84 case 138 :
85 {
86 P1 = I31(4, 2);
87 P2 = I31(4, 6);
88 P3 = I211(4, 5, 7);
89 if (MUL) {
90 P0 = I31(4, 0);
91 } else {
92 P0 = I211(4, 1, 3);
93 }
94 } break;
95 case 11 :
96 case 139 :
97 {
98 P1 = I31(4, 2);
99 P2 = I31(4, 6);
100 P3 = I211(4, 5, 7);
101 if (MUL) {
102 P0 = IC(4);
103 } else {
104 P0 = I211(4, 1, 3);
105 }
106 } break;
107 case 14 :
108 case 142 :
109 {
110 P2 = I31(4, 6);
111 P3 = I211(4, 5, 7);
112 if (MUL) {
113 P0 = I31(4, 0);
114 P1 = I31(4, 5);
115 } else {
116 P0 = I332(1, 3, 4);
117 P1 = I521(4, 1, 5);
118 }
119 } break;
120 case 15 :
121 case 143 :
122 {
123 P2 = I31(4, 6);
124 P3 = I211(4, 5, 7);
125 if (MUL) {
126 P0 = IC(4);
127 P1 = I31(4, 5);
128 } else {
129 P0 = I332(1, 3, 4);
130 P1 = I521(4, 1, 5);
131 }
132 } break;
133 case 16 :
134 case 17 :
135 case 48 :
136 case 49 :
137 {
138 P0 = I211(4, 1, 3);
139 P1 = I31(4, 2);
140 P2 = I211(4, 3, 7);
141 P3 = I31(4, 8);
142 } break;
143 case 18 :
144 case 50 :
145 {
146 P0 = I31(4, 0);
147 P2 = I211(4, 3, 7);
148 P3 = I31(4, 8);
149 if (MUR) {
150 P1 = I31(4, 2);
151 } else {
152 P1 = I211(4, 1, 5);
153 }
154 } break;
155 case 19 :
156 case 51 :
157 {
158 P2 = I211(4, 3, 7);
159 P3 = I31(4, 8);
160 if (MUR) {
161 P0 = I31(4, 3);
162 P1 = I31(4, 2);
163 } else {
164 P0 = I521(4, 1, 3);
165 P1 = I332(1, 5, 4);
166 }
167 } break;
168 case 20 :
169 case 21 :
170 case 52 :
171 case 53 :
172 {
173 P0 = I211(4, 1, 3);
174 P1 = I31(4, 1);
175 P2 = I211(4, 3, 7);
176 P3 = I31(4, 8);
177 } break;
178 case 22 :
179 case 54 :
180 {
181 P0 = I31(4, 0);
182 P2 = I211(4, 3, 7);
183 P3 = I31(4, 8);
184 if (MUR) {
185 P1 = IC(4);
186 } else {
187 P1 = I211(4, 1, 5);
188 }
189 } break;
190 case 23 :
191 case 55 :
192 {
193 P2 = I211(4, 3, 7);
194 P3 = I31(4, 8);
195 if (MUR) {
196 P0 = I31(4, 3);
197 P1 = IC(4);
198 } else {
199 P0 = I521(4, 1, 3);
200 P1 = I332(1, 5, 4);
201 }
202 } break;
203 case 24 :
204 case 66 :
205 {
206 P0 = I31(4, 0);
207 P1 = I31(4, 2);
208 P2 = I31(4, 6);
209 P3 = I31(4, 8);
210 } break;
211 case 25 :
212 {
213 P0 = I31(4, 1);
214 P1 = I31(4, 2);
215 P2 = I31(4, 6);
216 P3 = I31(4, 8);
217 } break;
218 case 26 :
219 case 31 :
220 case 95 :
221 {
222 P2 = I31(4, 6);
223 P3 = I31(4, 8);
224 if (MUL) {
225 P0 = IC(4);
226 } else {
227 P0 = I211(4, 1, 3);
228 }
229 if (MUR) {
230 P1 = IC(4);
231 } else {
232 P1 = I211(4, 1, 5);
233 }
234 } break;
235 case 27 :
236 case 75 :
237 {
238 P1 = I31(4, 2);
239 P2 = I31(4, 6);
240 P3 = I31(4, 8);
241 if (MUL) {
242 P0 = IC(4);
243 } else {
244 P0 = I211(4, 1, 3);
245 }
246 } break;
247 case 28 :
248 {
249 P0 = I31(4, 0);
250 P1 = I31(4, 1);
251 P2 = I31(4, 6);
252 P3 = I31(4, 8);
253 } break;
254 case 29 :
255 {
256 P0 = I31(4, 1);
257 P1 = I31(4, 1);
258 P2 = I31(4, 6);
259 P3 = I31(4, 8);
260 } break;
261 case 30 :
262 case 86 :
263 {
264 P0 = I31(4, 0);
265 P2 = I31(4, 6);
266 P3 = I31(4, 8);
267 if (MUR) {
268 P1 = IC(4);
269 } else {
270 P1 = I211(4, 1, 5);
271 }
272 } break;
273 case 40 :
274 case 44 :
275 case 168 :
276 case 172 :
277 {
278 P0 = I31(4, 0);
279 P1 = I211(4, 1, 5);
280 P2 = I31(4, 7);
281 P3 = I211(4, 5, 7);
282 } break;
283 case 41 :
284 case 45 :
285 case 169 :
286 case 173 :
287 {
288 P0 = I31(4, 1);
289 P1 = I211(4, 1, 5);
290 P2 = I31(4, 7);
291 P3 = I211(4, 5, 7);
292 } break;
293 case 42 :
294 case 170 :
295 {
296 P1 = I31(4, 2);
297 P3 = I211(4, 5, 7);
298 if (MUL) {
299 P0 = I31(4, 0);
300 P2 = I31(4, 7);
301 } else {
302 P0 = I332(1, 3, 4);
303 P2 = I521(4, 3, 7);
304 }
305 } break;
306 case 43 :
307 case 171 :
308 {
309 P1 = I31(4, 2);
310 P3 = I211(4, 5, 7);
311 if (MUL) {
312 P0 = IC(4);
313 P2 = I31(4, 7);
314 } else {
315 P0 = I332(1, 3, 4);
316 P2 = I521(4, 3, 7);
317 }
318 } break;
319 case 46 :
320 case 174 :
321 {
322 P1 = I31(4, 5);
323 P2 = I31(4, 7);
324 P3 = I211(4, 5, 7);
325 if (MUL) {
326 P0 = I31(4, 0);
327 } else {
328 P0 = I611(4, 1, 3);
329 }
330 } break;
331 case 47 :
332 case 175 :
333 {
334 P1 = I31(4, 5);
335 P2 = I31(4, 7);
336 P3 = I211(4, 5, 7);
337 if (MUL) {
338 P0 = IC(4);
339 } else {
340 P0 = I1411(4, 1, 3);
341 }
342 } break;
343 case 56 :
344 {
345 P0 = I31(4, 0);
346 P1 = I31(4, 2);
347 P2 = I31(4, 7);
348 P3 = I31(4, 8);
349 } break;
350 case 57 :
351 {
352 P0 = I31(4, 1);
353 P1 = I31(4, 2);
354 P2 = I31(4, 7);
355 P3 = I31(4, 8);
356 } break;
357 case 58 :
358 {
359 P2 = I31(4, 7);
360 P3 = I31(4, 8);
361 if (MUL) {
362 P0 = I31(4, 0);
363 } else {
364 P0 = I611(4, 1, 3);
365 }
366 if (MUR) {
367 P1 = I31(4, 2);
368 } else {
369 P1 = I611(4, 1, 5);
370 }
371 } break;
372 case 59 :
373 {
374 P2 = I31(4, 7);
375 P3 = I31(4, 8);
376 if (MUL) {
377 P0 = IC(4);
378 } else {
379 P0 = I211(4, 1, 3);
380 }
381 if (MUR) {
382 P1 = I31(4, 2);
383 } else {
384 P1 = I611(4, 1, 5);
385 }
386 } break;
387 case 60 :
388 {
389 P0 = I31(4, 0);
390 P1 = I31(4, 1);
391 P2 = I31(4, 7);
392 P3 = I31(4, 8);
393 } break;
394 case 61 :
395 {
396 P0 = I31(4, 1);
397 P1 = I31(4, 1);
398 P2 = I31(4, 7);
399 P3 = I31(4, 8);
400 } break;
401 case 62 :
402 {
403 P0 = I31(4, 0);
404 P2 = I31(4, 7);
405 P3 = I31(4, 8);
406 if (MUR) {
407 P1 = IC(4);
408 } else {
409 P1 = I211(4, 1, 5);
410 }
411 } break;
412 case 63 :
413 {
414 P2 = I31(4, 7);
415 P3 = I31(4, 8);
416 if (MUL) {
417 P0 = IC(4);
418 } else {
419 P0 = I1411(4, 1, 3);
420 }
421 if (MUR) {
422 P1 = IC(4);
423 } else {
424 P1 = I211(4, 1, 5);
425 }
426 } break;
427 case 64 :
428 case 65 :
429 case 68 :
430 case 69 :
431 {
432 P0 = I211(4, 1, 3);
433 P1 = I211(4, 1, 5);
434 P2 = I31(4, 6);
435 P3 = I31(4, 8);
436 } break;
437 case 67 :
438 {
439 P0 = I31(4, 3);
440 P1 = I31(4, 2);
441 P2 = I31(4, 6);
442 P3 = I31(4, 8);
443 } break;
444 case 70 :
445 {
446 P0 = I31(4, 0);
447 P1 = I31(4, 5);
448 P2 = I31(4, 6);
449 P3 = I31(4, 8);
450 } break;
451 case 71 :
452 {
453 P0 = I31(4, 3);
454 P1 = I31(4, 5);
455 P2 = I31(4, 6);
456 P3 = I31(4, 8);
457 } break;
458 case 72 :
459 case 76 :
460 {
461 P0 = I31(4, 0);
462 P1 = I211(4, 1, 5);
463 P3 = I31(4, 8);
464 if (MDL) {
465 P2 = I31(4, 6);
466 } else {
467 P2 = I211(4, 3, 7);
468 }
469 } break;
470 case 73 :
471 case 77 :
472 {
473 P1 = I211(4, 1, 5);
474 P3 = I31(4, 8);
475 if (MDL) {
476 P0 = I31(4, 1);
477 P2 = I31(4, 6);
478 } else {
479 P0 = I521(4, 3, 1);
480 P2 = I332(3, 7, 4);
481 }
482 } break;
483 case 74 :
484 case 107 :
485 case 123 :
486 {
487 P1 = I31(4, 2);
488 P3 = I31(4, 8);
489 if (MDL) {
490 P2 = IC(4);
491 } else {
492 P2 = I211(4, 3, 7);
493 }
494 if (MUL) {
495 P0 = IC(4);
496 } else {
497 P0 = I211(4, 1, 3);
498 }
499 } break;
500 case 78 :
501 {
502 P1 = I31(4, 5);
503 P3 = I31(4, 8);
504 if (MDL) {
505 P2 = I31(4, 6);
506 } else {
507 P2 = I611(4, 3, 7);
508 }
509 if (MUL) {
510 P0 = I31(4, 0);
511 } else {
512 P0 = I611(4, 1, 3);
513 }
514 } break;
515 case 79 :
516 {
517 P1 = I31(4, 5);
518 P3 = I31(4, 8);
519 if (MDL) {
520 P2 = I31(4, 6);
521 } else {
522 P2 = I611(4, 3, 7);
523 }
524 if (MUL) {
525 P0 = IC(4);
526 } else {
527 P0 = I211(4, 1, 3);
528 }
529 } break;
530 case 80 :
531 case 81 :
532 {
533 P0 = I211(4, 1, 3);
534 P1 = I31(4, 2);
535 P2 = I31(4, 6);
536 if (MDR) {
537 P3 = I31(4, 8);
538 } else {
539 P3 = I211(4, 5, 7);
540 }
541 } break;
542 case 82 :
543 case 214 :
544 case 222 :
545 {
546 P0 = I31(4, 0);
547 P2 = I31(4, 6);
548 if (MDR) {
549 P3 = IC(4);
550 } else {
551 P3 = I211(4, 5, 7);
552 }
553 if (MUR) {
554 P1 = IC(4);
555 } else {
556 P1 = I211(4, 1, 5);
557 }
558 } break;
559 case 83 :
560 {
561 P0 = I31(4, 3);
562 P2 = I31(4, 6);
563 if (MDR) {
564 P3 = I31(4, 8);
565 } else {
566 P3 = I611(4, 5, 7);
567 }
568 if (MUR) {
569 P1 = I31(4, 2);
570 } else {
571 P1 = I611(4, 1, 5);
572 }
573 } break;
574 case 84 :
575 case 85 :
576 {
577 P0 = I211(4, 1, 3);
578 P2 = I31(4, 6);
579 if (MDR) {
580 P1 = I31(4, 1);
581 P3 = I31(4, 8);
582 } else {
583 P1 = I521(4, 5, 1);
584 P3 = I332(5, 7, 4);
585 }
586 } break;
587 case 87 :
588 {
589 P0 = I31(4, 3);
590 P2 = I31(4, 6);
591 if (MDR) {
592 P3 = I31(4, 8);
593 } else {
594 P3 = I611(4, 5, 7);
595 }
596 if (MUR) {
597 P1 = IC(4);
598 } else {
599 P1 = I211(4, 1, 5);
600 }
601 } break;
602 case 88 :
603 case 248 :
604 case 250 :
605 {
606 P0 = I31(4, 0);
607 P1 = I31(4, 2);
608 if (MDL) {
609 P2 = IC(4);
610 } else {
611 P2 = I211(4, 3, 7);
612 }
613 if (MDR) {
614 P3 = IC(4);
615 } else {
616 P3 = I211(4, 5, 7);
617 }
618 } break;
619 case 89 :
620 {
621 P0 = I31(4, 1);
622 P1 = I31(4, 2);
623 if (MDL) {
624 P2 = I31(4, 6);
625 } else {
626 P2 = I611(4, 3, 7);
627 }
628 if (MDR) {
629 P3 = I31(4, 8);
630 } else {
631 P3 = I611(4, 5, 7);
632 }
633 } break;
634 case 90 :
635 {
636 if (MDL) {
637 P2 = I31(4, 6);
638 } else {
639 P2 = I611(4, 3, 7);
640 }
641 if (MDR) {
642 P3 = I31(4, 8);
643 } else {
644 P3 = I611(4, 5, 7);
645 }
646 if (MUL) {
647 P0 = I31(4, 0);
648 } else {
649 P0 = I611(4, 1, 3);
650 }
651 if (MUR) {
652 P1 = I31(4, 2);
653 } else {
654 P1 = I611(4, 1, 5);
655 }
656 } break;
657 case 91 :
658 {
659 if (MDL) {
660 P2 = I31(4, 6);
661 } else {
662 P2 = I611(4, 3, 7);
663 }
664 if (MDR) {
665 P3 = I31(4, 8);
666 } else {
667 P3 = I611(4, 5, 7);
668 }
669 if (MUL) {
670 P0 = IC(4);
671 } else {
672 P0 = I211(4, 1, 3);
673 }
674 if (MUR) {
675 P1 = I31(4, 2);
676 } else {
677 P1 = I611(4, 1, 5);
678 }
679 } break;
680 case 92 :
681 {
682 P0 = I31(4, 0);
683 P1 = I31(4, 1);
684 if (MDL) {
685 P2 = I31(4, 6);
686 } else {
687 P2 = I611(4, 3, 7);
688 }
689 if (MDR) {
690 P3 = I31(4, 8);
691 } else {
692 P3 = I611(4, 5, 7);
693 }
694 } break;
695 case 93 :
696 {
697 P0 = I31(4, 1);
698 P1 = I31(4, 1);
699 if (MDL) {
700 P2 = I31(4, 6);
701 } else {
702 P2 = I611(4, 3, 7);
703 }
704 if (MDR) {
705 P3 = I31(4, 8);
706 } else {
707 P3 = I611(4, 5, 7);
708 }
709 } break;
710 case 94 :
711 {
712 if (MDL) {
713 P2 = I31(4, 6);
714 } else {
715 P2 = I611(4, 3, 7);
716 }
717 if (MDR) {
718 P3 = I31(4, 8);
719 } else {
720 P3 = I611(4, 5, 7);
721 }
722 if (MUL) {
723 P0 = I31(4, 0);
724 } else {
725 P0 = I611(4, 1, 3);
726 }
727 if (MUR) {
728 P1 = IC(4);
729 } else {
730 P1 = I211(4, 1, 5);
731 }
732 } break;
733 case 96 :
734 case 97 :
735 case 100 :
736 case 101 :
737 {
738 P0 = I211(4, 1, 3);
739 P1 = I211(4, 1, 5);
740 P2 = I31(4, 3);
741 P3 = I31(4, 8);
742 } break;
743 case 98 :
744 {
745 P0 = I31(4, 0);
746 P1 = I31(4, 2);
747 P2 = I31(4, 3);
748 P3 = I31(4, 8);
749 } break;
750 case 99 :
751 {
752 P0 = I31(4, 3);
753 P1 = I31(4, 2);
754 P2 = I31(4, 3);
755 P3 = I31(4, 8);
756 } break;
757 case 102 :
758 {
759 P0 = I31(4, 0);
760 P1 = I31(4, 5);
761 P2 = I31(4, 3);
762 P3 = I31(4, 8);
763 } break;
764 case 103 :
765 {
766 P0 = I31(4, 3);
767 P1 = I31(4, 5);
768 P2 = I31(4, 3);
769 P3 = I31(4, 8);
770 } break;
771 case 104 :
772 case 108 :
773 {
774 P0 = I31(4, 0);
775 P1 = I211(4, 1, 5);
776 P3 = I31(4, 8);
777 if (MDL) {
778 P2 = IC(4);
779 } else {
780 P2 = I211(4, 3, 7);
781 }
782 } break;
783 case 105 :
784 case 109 :
785 {
786 P1 = I211(4, 1, 5);
787 P3 = I31(4, 8);
788 if (MDL) {
789 P0 = I31(4, 1);
790 P2 = IC(4);
791 } else {
792 P0 = I521(4, 3, 1);
793 P2 = I332(3, 7, 4);
794 }
795 } break;
796 case 106 :
797 case 120 :
798 {
799 P0 = I31(4, 0);
800 P1 = I31(4, 2);
801 P3 = I31(4, 8);
802 if (MDL) {
803 P2 = IC(4);
804 } else {
805 P2 = I211(4, 3, 7);
806 }
807 } break;
808 case 110 :
809 {
810 P0 = I31(4, 0);
811 P1 = I31(4, 5);
812 P3 = I31(4, 8);
813 if (MDL) {
814 P2 = IC(4);
815 } else {
816 P2 = I211(4, 3, 7);
817 }
818 } break;
819 case 111 :
820 {
821 P1 = I31(4, 5);
822 P3 = I31(4, 8);
823 if (MDL) {
824 P2 = IC(4);
825 } else {
826 P2 = I211(4, 3, 7);
827 }
828 if (MUL) {
829 P0 = IC(4);
830 } else {
831 P0 = I1411(4, 1, 3);
832 }
833 } break;
834 case 112 :
835 case 113 :
836 {
837 P0 = I211(4, 1, 3);
838 P1 = I31(4, 2);
839 if (MDR) {
840 P2 = I31(4, 3);
841 P3 = I31(4, 8);
842 } else {
843 P2 = I521(4, 7, 3);
844 P3 = I332(5, 7, 4);
845 }
846 } break;
847 case 114 :
848 {
849 P0 = I31(4, 0);
850 P2 = I31(4, 3);
851 if (MDR) {
852 P3 = I31(4, 8);
853 } else {
854 P3 = I611(4, 5, 7);
855 }
856 if (MUR) {
857 P1 = I31(4, 2);
858 } else {
859 P1 = I611(4, 1, 5);
860 }
861 } break;
862 case 115 :
863 {
864 P0 = I31(4, 3);
865 P2 = I31(4, 3);
866 if (MDR) {
867 P3 = I31(4, 8);
868 } else {
869 P3 = I611(4, 5, 7);
870 }
871 if (MUR) {
872 P1 = I31(4, 2);
873 } else {
874 P1 = I611(4, 1, 5);
875 }
876 } break;
877 case 116 :
878 case 117 :
879 {
880 P0 = I211(4, 1, 3);
881 P1 = I31(4, 1);
882 P2 = I31(4, 3);
883 if (MDR) {
884 P3 = I31(4, 8);
885 } else {
886 P3 = I611(4, 5, 7);
887 }
888 } break;
889 case 118 :
890 {
891 P0 = I31(4, 0);
892 P2 = I31(4, 3);
893 P3 = I31(4, 8);
894 if (MUR) {
895 P1 = IC(4);
896 } else {
897 P1 = I211(4, 1, 5);
898 }
899 } break;
900 case 119 :
901 {
902 P2 = I31(4, 3);
903 P3 = I31(4, 8);
904 if (MUR) {
905 P0 = I31(4, 3);
906 P1 = IC(4);
907 } else {
908 P0 = I521(4, 1, 3);
909 P1 = I332(1, 5, 4);
910 }
911 } break;
912 case 121 :
913 {
914 P0 = I31(4, 1);
915 P1 = I31(4, 2);
916 if (MDL) {
917 P2 = IC(4);
918 } else {
919 P2 = I211(4, 3, 7);
920 }
921 if (MDR) {
922 P3 = I31(4, 8);
923 } else {
924 P3 = I611(4, 5, 7);
925 }
926 } break;
927 case 122 :
928 {
929 if (MDL) {
930 P2 = IC(4);
931 } else {
932 P2 = I211(4, 3, 7);
933 }
934 if (MDR) {
935 P3 = I31(4, 8);
936 } else {
937 P3 = I611(4, 5, 7);
938 }
939 if (MUL) {
940 P0 = I31(4, 0);
941 } else {
942 P0 = I611(4, 1, 3);
943 }
944 if (MUR) {
945 P1 = I31(4, 2);
946 } else {
947 P1 = I611(4, 1, 5);
948 }
949 } break;
950 case 124 :
951 {
952 P0 = I31(4, 0);
953 P1 = I31(4, 1);
954 P3 = I31(4, 8);
955 if (MDL) {
956 P2 = IC(4);
957 } else {
958 P2 = I211(4, 3, 7);
959 }
960 } break;
961 case 125 :
962 {
963 P1 = I31(4, 1);
964 P3 = I31(4, 8);
965 if (MDL) {
966 P0 = I31(4, 1);
967 P2 = IC(4);
968 } else {
969 P0 = I521(4, 3, 1);
970 P2 = I332(3, 7, 4);
971 }
972 } break;
973 case 126 :
974 {
975 P0 = I31(4, 0);
976 P3 = I31(4, 8);
977 if (MDL) {
978 P2 = IC(4);
979 } else {
980 P2 = I211(4, 3, 7);
981 }
982 if (MUR) {
983 P1 = IC(4);
984 } else {
985 P1 = I211(4, 1, 5);
986 }
987 } break;
988 case 127 :
989 {
990 P3 = I31(4, 8);
991 if (MDL) {
992 P2 = IC(4);
993 } else {
994 P2 = I211(4, 3, 7);
995 }
996 if (MUL) {
997 P0 = IC(4);
998 } else {
999 P0 = I1411(4, 1, 3);
1001 if (MUR) {
1002 P1 = IC(4);
1003 } else {
1004 P1 = I211(4, 1, 5);
1006 } break;
1007 case 144 :
1008 case 145 :
1009 case 176 :
1010 case 177 :
1012 P0 = I211(4, 1, 3);
1013 P1 = I31(4, 2);
1014 P2 = I211(4, 3, 7);
1015 P3 = I31(4, 7);
1016 } break;
1017 case 146 :
1018 case 178 :
1020 P0 = I31(4, 0);
1021 P2 = I211(4, 3, 7);
1022 if (MUR) {
1023 P1 = I31(4, 2);
1024 P3 = I31(4, 7);
1025 } else {
1026 P1 = I332(1, 5, 4);
1027 P3 = I521(4, 5, 7);
1029 } break;
1030 case 147 :
1031 case 179 :
1033 P0 = I31(4, 3);
1034 P2 = I211(4, 3, 7);
1035 P3 = I31(4, 7);
1036 if (MUR) {
1037 P1 = I31(4, 2);
1038 } else {
1039 P1 = I611(4, 1, 5);
1041 } break;
1042 case 148 :
1043 case 149 :
1044 case 180 :
1045 case 181 :
1047 P0 = I211(4, 1, 3);
1048 P1 = I31(4, 1);
1049 P2 = I211(4, 3, 7);
1050 P3 = I31(4, 7);
1051 } break;
1052 case 150 :
1053 case 182 :
1055 P0 = I31(4, 0);
1056 P2 = I211(4, 3, 7);
1057 if (MUR) {
1058 P1 = IC(4);
1059 P3 = I31(4, 7);
1060 } else {
1061 P1 = I332(1, 5, 4);
1062 P3 = I521(4, 5, 7);
1064 } break;
1065 case 151 :
1066 case 183 :
1068 P0 = I31(4, 3);
1069 P2 = I211(4, 3, 7);
1070 P3 = I31(4, 7);
1071 if (MUR) {
1072 P1 = IC(4);
1073 } else {
1074 P1 = I1411(4, 1, 5);
1076 } break;
1077 case 152 :
1079 P0 = I31(4, 0);
1080 P1 = I31(4, 2);
1081 P2 = I31(4, 6);
1082 P3 = I31(4, 7);
1083 } break;
1084 case 153 :
1086 P0 = I31(4, 1);
1087 P1 = I31(4, 2);
1088 P2 = I31(4, 6);
1089 P3 = I31(4, 7);
1090 } break;
1091 case 154 :
1093 P2 = I31(4, 6);
1094 P3 = I31(4, 7);
1095 if (MUL) {
1096 P0 = I31(4, 0);
1097 } else {
1098 P0 = I611(4, 1, 3);
1100 if (MUR) {
1101 P1 = I31(4, 2);
1102 } else {
1103 P1 = I611(4, 1, 5);
1105 } break;
1106 case 155 :
1108 P1 = I31(4, 2);
1109 P2 = I31(4, 6);
1110 P3 = I31(4, 7);
1111 if (MUL) {
1112 P0 = IC(4);
1113 } else {
1114 P0 = I211(4, 1, 3);
1116 } break;
1117 case 156 :
1119 P0 = I31(4, 0);
1120 P1 = I31(4, 1);
1121 P2 = I31(4, 6);
1122 P3 = I31(4, 7);
1123 } break;
1124 case 157 :
1126 P0 = I31(4, 1);
1127 P1 = I31(4, 1);
1128 P2 = I31(4, 6);
1129 P3 = I31(4, 7);
1130 } break;
1131 case 158 :
1133 P2 = I31(4, 6);
1134 P3 = I31(4, 7);
1135 if (MUL) {
1136 P0 = I31(4, 0);
1137 } else {
1138 P0 = I611(4, 1, 3);
1140 if (MUR) {
1141 P1 = IC(4);
1142 } else {
1143 P1 = I211(4, 1, 5);
1145 } break;
1146 case 159 :
1148 P2 = I31(4, 6);
1149 P3 = I31(4, 7);
1150 if (MUL) {
1151 P0 = IC(4);
1152 } else {
1153 P0 = I211(4, 1, 3);
1155 if (MUR) {
1156 P1 = IC(4);
1157 } else {
1158 P1 = I1411(4, 1, 5);
1160 } break;
1161 case 184 :
1163 P0 = I31(4, 0);
1164 P1 = I31(4, 2);
1165 P2 = I31(4, 7);
1166 P3 = I31(4, 7);
1167 } break;
1168 case 185 :
1170 P0 = I31(4, 1);
1171 P1 = I31(4, 2);
1172 P2 = I31(4, 7);
1173 P3 = I31(4, 7);
1174 } break;
1175 case 186 :
1177 P2 = I31(4, 7);
1178 P3 = I31(4, 7);
1179 if (MUL) {
1180 P0 = I31(4, 0);
1181 } else {
1182 P0 = I611(4, 1, 3);
1184 if (MUR) {
1185 P1 = I31(4, 2);
1186 } else {
1187 P1 = I611(4, 1, 5);
1189 } break;
1190 case 187 :
1192 P1 = I31(4, 2);
1193 P3 = I31(4, 7);
1194 if (MUL) {
1195 P0 = IC(4);
1196 P2 = I31(4, 7);
1197 } else {
1198 P0 = I332(1, 3, 4);
1199 P2 = I521(4, 3, 7);
1201 } break;
1202 case 188 :
1204 P0 = I31(4, 0);
1205 P1 = I31(4, 1);
1206 P2 = I31(4, 7);
1207 P3 = I31(4, 7);
1208 } break;
1209 case 189 :
1211 P0 = I31(4, 1);
1212 P1 = I31(4, 1);
1213 P2 = I31(4, 7);
1214 P3 = I31(4, 7);
1215 } break;
1216 case 190 :
1218 P0 = I31(4, 0);
1219 P2 = I31(4, 7);
1220 if (MUR) {
1221 P1 = IC(4);
1222 P3 = I31(4, 7);
1223 } else {
1224 P1 = I332(1, 5, 4);
1225 P3 = I521(4, 5, 7);
1227 } break;
1228 case 191 :
1230 P2 = I31(4, 7);
1231 P3 = I31(4, 7);
1232 if (MUL) {
1233 P0 = IC(4);
1234 } else {
1235 P0 = I1411(4, 1, 3);
1237 if (MUR) {
1238 P1 = IC(4);
1239 } else {
1240 P1 = I1411(4, 1, 5);
1242 } break;
1243 case 192 :
1244 case 193 :
1245 case 196 :
1246 case 197 :
1248 P0 = I211(4, 1, 3);
1249 P1 = I211(4, 1, 5);
1250 P2 = I31(4, 6);
1251 P3 = I31(4, 5);
1252 } break;
1253 case 194 :
1255 P0 = I31(4, 0);
1256 P1 = I31(4, 2);
1257 P2 = I31(4, 6);
1258 P3 = I31(4, 5);
1259 } break;
1260 case 195 :
1262 P0 = I31(4, 3);
1263 P1 = I31(4, 2);
1264 P2 = I31(4, 6);
1265 P3 = I31(4, 5);
1266 } break;
1267 case 198 :
1269 P0 = I31(4, 0);
1270 P1 = I31(4, 5);
1271 P2 = I31(4, 6);
1272 P3 = I31(4, 5);
1273 } break;
1274 case 199 :
1276 P0 = I31(4, 3);
1277 P1 = I31(4, 5);
1278 P2 = I31(4, 6);
1279 P3 = I31(4, 5);
1280 } break;
1281 case 200 :
1282 case 204 :
1284 P0 = I31(4, 0);
1285 P1 = I211(4, 1, 5);
1286 if (MDL) {
1287 P2 = I31(4, 6);
1288 P3 = I31(4, 5);
1289 } else {
1290 P2 = I332(3, 7, 4);
1291 P3 = I521(4, 7, 5);
1293 } break;
1294 case 201 :
1295 case 205 :
1297 P0 = I31(4, 1);
1298 P1 = I211(4, 1, 5);
1299 P3 = I31(4, 5);
1300 if (MDL) {
1301 P2 = I31(4, 6);
1302 } else {
1303 P2 = I611(4, 3, 7);
1305 } break;
1306 case 202 :
1308 P1 = I31(4, 2);
1309 P3 = I31(4, 5);
1310 if (MDL) {
1311 P2 = I31(4, 6);
1312 } else {
1313 P2 = I611(4, 3, 7);
1315 if (MUL) {
1316 P0 = I31(4, 0);
1317 } else {
1318 P0 = I611(4, 1, 3);
1320 } break;
1321 case 203 :
1323 P1 = I31(4, 2);
1324 P2 = I31(4, 6);
1325 P3 = I31(4, 5);
1326 if (MUL) {
1327 P0 = IC(4);
1328 } else {
1329 P0 = I211(4, 1, 3);
1331 } break;
1332 case 206 :
1334 P1 = I31(4, 5);
1335 P3 = I31(4, 5);
1336 if (MDL) {
1337 P2 = I31(4, 6);
1338 } else {
1339 P2 = I611(4, 3, 7);
1341 if (MUL) {
1342 P0 = I31(4, 0);
1343 } else {
1344 P0 = I611(4, 1, 3);
1346 } break;
1347 case 207 :
1349 P2 = I31(4, 6);
1350 P3 = I31(4, 5);
1351 if (MUL) {
1352 P0 = IC(4);
1353 P1 = I31(4, 5);
1354 } else {
1355 P0 = I332(1, 3, 4);
1356 P1 = I521(4, 1, 5);
1358 } break;
1359 case 208 :
1360 case 209 :
1362 P0 = I211(4, 1, 3);
1363 P1 = I31(4, 2);
1364 P2 = I31(4, 6);
1365 if (MDR) {
1366 P3 = IC(4);
1367 } else {
1368 P3 = I211(4, 5, 7);
1370 } break;
1371 case 210 :
1372 case 216 :
1374 P0 = I31(4, 0);
1375 P1 = I31(4, 2);
1376 P2 = I31(4, 6);
1377 if (MDR) {
1378 P3 = IC(4);
1379 } else {
1380 P3 = I211(4, 5, 7);
1382 } break;
1383 case 211 :
1385 P0 = I31(4, 3);
1386 P1 = I31(4, 2);
1387 P2 = I31(4, 6);
1388 if (MDR) {
1389 P3 = IC(4);
1390 } else {
1391 P3 = I211(4, 5, 7);
1393 } break;
1394 case 212 :
1395 case 213 :
1397 P0 = I211(4, 1, 3);
1398 P2 = I31(4, 6);
1399 if (MDR) {
1400 P1 = I31(4, 1);
1401 P3 = IC(4);
1402 } else {
1403 P1 = I521(4, 5, 1);
1404 P3 = I332(5, 7, 4);
1406 } break;
1407 case 215 :
1409 P0 = I31(4, 3);
1410 P2 = I31(4, 6);
1411 if (MDR) {
1412 P3 = IC(4);
1413 } else {
1414 P3 = I211(4, 5, 7);
1416 if (MUR) {
1417 P1 = IC(4);
1418 } else {
1419 P1 = I1411(4, 1, 5);
1421 } break;
1422 case 217 :
1424 P0 = I31(4, 1);
1425 P1 = I31(4, 2);
1426 P2 = I31(4, 6);
1427 if (MDR) {
1428 P3 = IC(4);
1429 } else {
1430 P3 = I211(4, 5, 7);
1432 } break;
1433 case 218 :
1435 if (MDL) {
1436 P2 = I31(4, 6);
1437 } else {
1438 P2 = I611(4, 3, 7);
1440 if (MDR) {
1441 P3 = IC(4);
1442 } else {
1443 P3 = I211(4, 5, 7);
1445 if (MUL) {
1446 P0 = I31(4, 0);
1447 } else {
1448 P0 = I611(4, 1, 3);
1450 if (MUR) {
1451 P1 = I31(4, 2);
1452 } else {
1453 P1 = I611(4, 1, 5);
1455 } break;
1456 case 219 :
1458 P1 = I31(4, 2);
1459 P2 = I31(4, 6);
1460 if (MDR) {
1461 P3 = IC(4);
1462 } else {
1463 P3 = I211(4, 5, 7);
1465 if (MUL) {
1466 P0 = IC(4);
1467 } else {
1468 P0 = I211(4, 1, 3);
1470 } break;
1471 case 220 :
1473 P0 = I31(4, 0);
1474 P1 = I31(4, 1);
1475 if (MDL) {
1476 P2 = I31(4, 6);
1477 } else {
1478 P2 = I611(4, 3, 7);
1480 if (MDR) {
1481 P3 = IC(4);
1482 } else {
1483 P3 = I211(4, 5, 7);
1485 } break;
1486 case 221 :
1488 P0 = I31(4, 1);
1489 P2 = I31(4, 6);
1490 if (MDR) {
1491 P1 = I31(4, 1);
1492 P3 = IC(4);
1493 } else {
1494 P1 = I521(4, 5, 1);
1495 P3 = I332(5, 7, 4);
1497 } break;
1498 case 223 :
1500 P2 = I31(4, 6);
1501 if (MDR) {
1502 P3 = IC(4);
1503 } else {
1504 P3 = I211(4, 5, 7);
1506 if (MUL) {
1507 P0 = IC(4);
1508 } else {
1509 P0 = I211(4, 1, 3);
1511 if (MUR) {
1512 P1 = IC(4);
1513 } else {
1514 P1 = I1411(4, 1, 5);
1516 } break;
1517 case 224 :
1518 case 225 :
1519 case 228 :
1520 case 229 :
1522 P0 = I211(4, 1, 3);
1523 P1 = I211(4, 1, 5);
1524 P2 = I31(4, 3);
1525 P3 = I31(4, 5);
1526 } break;
1527 case 226 :
1529 P0 = I31(4, 0);
1530 P1 = I31(4, 2);
1531 P2 = I31(4, 3);
1532 P3 = I31(4, 5);
1533 } break;
1534 case 227 :
1536 P0 = I31(4, 3);
1537 P1 = I31(4, 2);
1538 P2 = I31(4, 3);
1539 P3 = I31(4, 5);
1540 } break;
1541 case 230 :
1543 P0 = I31(4, 0);
1544 P1 = I31(4, 5);
1545 P2 = I31(4, 3);
1546 P3 = I31(4, 5);
1547 } break;
1548 case 231 :
1550 P0 = I31(4, 3);
1551 P1 = I31(4, 5);
1552 P2 = I31(4, 3);
1553 P3 = I31(4, 5);
1554 } break;
1555 case 232 :
1556 case 236 :
1558 P0 = I31(4, 0);
1559 P1 = I211(4, 1, 5);
1560 if (MDL) {
1561 P2 = IC(4);
1562 P3 = I31(4, 5);
1563 } else {
1564 P2 = I332(3, 7, 4);
1565 P3 = I521(4, 7, 5);
1567 } break;
1568 case 233 :
1569 case 237 :
1571 P0 = I31(4, 1);
1572 P1 = I211(4, 1, 5);
1573 P3 = I31(4, 5);
1574 if (MDL) {
1575 P2 = IC(4);
1576 } else {
1577 P2 = I1411(4, 3, 7);
1579 } break;
1580 case 234 :
1582 P1 = I31(4, 2);
1583 P3 = I31(4, 5);
1584 if (MDL) {
1585 P2 = IC(4);
1586 } else {
1587 P2 = I211(4, 3, 7);
1589 if (MUL) {
1590 P0 = I31(4, 0);
1591 } else {
1592 P0 = I611(4, 1, 3);
1594 } break;
1595 case 235 :
1597 P1 = I31(4, 2);
1598 P3 = I31(4, 5);
1599 if (MDL) {
1600 P2 = IC(4);
1601 } else {
1602 P2 = I1411(4, 3, 7);
1604 if (MUL) {
1605 P0 = IC(4);
1606 } else {
1607 P0 = I211(4, 1, 3);
1609 } break;
1610 case 238 :
1612 P0 = I31(4, 0);
1613 P1 = I31(4, 5);
1614 if (MDL) {
1615 P2 = IC(4);
1616 P3 = I31(4, 5);
1617 } else {
1618 P2 = I332(3, 7, 4);
1619 P3 = I521(4, 7, 5);
1621 } break;
1622 case 239 :
1624 P1 = I31(4, 5);
1625 P3 = I31(4, 5);
1626 if (MDL) {
1627 P2 = IC(4);
1628 } else {
1629 P2 = I1411(4, 3, 7);
1631 if (MUL) {
1632 P0 = IC(4);
1633 } else {
1634 P0 = I1411(4, 1, 3);
1636 } break;
1637 case 240 :
1638 case 241 :
1640 P0 = I211(4, 1, 3);
1641 P1 = I31(4, 2);
1642 if (MDR) {
1643 P2 = I31(4, 3);
1644 P3 = IC(4);
1645 } else {
1646 P2 = I521(4, 7, 3);
1647 P3 = I332(5, 7, 4);
1649 } break;
1650 case 242 :
1652 P0 = I31(4, 0);
1653 P2 = I31(4, 3);
1654 if (MDR) {
1655 P3 = IC(4);
1656 } else {
1657 P3 = I211(4, 5, 7);
1659 if (MUR) {
1660 P1 = I31(4, 2);
1661 } else {
1662 P1 = I611(4, 1, 5);
1664 } break;
1665 case 243 :
1667 P0 = I31(4, 3);
1668 P1 = I31(4, 2);
1669 if (MDR) {
1670 P2 = I31(4, 3);
1671 P3 = IC(4);
1672 } else {
1673 P2 = I521(4, 7, 3);
1674 P3 = I332(5, 7, 4);
1676 } break;
1677 case 244 :
1678 case 245 :
1680 P0 = I211(4, 1, 3);
1681 P1 = I31(4, 1);
1682 P2 = I31(4, 3);
1683 if (MDR) {
1684 P3 = IC(4);
1685 } else {
1686 P3 = I1411(4, 5, 7);
1688 } break;
1689 case 246 :
1691 P0 = I31(4, 0);
1692 P2 = I31(4, 3);
1693 if (MDR) {
1694 P3 = IC(4);
1695 } else {
1696 P3 = I1411(4, 5, 7);
1698 if (MUR) {
1699 P1 = IC(4);
1700 } else {
1701 P1 = I211(4, 1, 5);
1703 } break;
1704 case 247 :
1706 P0 = I31(4, 3);
1707 P2 = I31(4, 3);
1708 if (MDR) {
1709 P3 = IC(4);
1710 } else {
1711 P3 = I1411(4, 5, 7);
1713 if (MUR) {
1714 P1 = IC(4);
1715 } else {
1716 P1 = I1411(4, 1, 5);
1718 } break;
1719 case 249 :
1721 P0 = I31(4, 1);
1722 P1 = I31(4, 2);
1723 if (MDL) {
1724 P2 = IC(4);
1725 } else {
1726 P2 = I1411(4, 3, 7);
1728 if (MDR) {
1729 P3 = IC(4);
1730 } else {
1731 P3 = I211(4, 5, 7);
1733 } break;
1734 case 251 :
1736 P1 = I31(4, 2);
1737 if (MDL) {
1738 P2 = IC(4);
1739 } else {
1740 P2 = I1411(4, 3, 7);
1742 if (MDR) {
1743 P3 = IC(4);
1744 } else {
1745 P3 = I211(4, 5, 7);
1747 if (MUL) {
1748 P0 = IC(4);
1749 } else {
1750 P0 = I211(4, 1, 3);
1752 } break;
1753 case 252 :
1755 P0 = I31(4, 0);
1756 P1 = I31(4, 1);
1757 if (MDL) {
1758 P2 = IC(4);
1759 } else {
1760 P2 = I211(4, 3, 7);
1762 if (MDR) {
1763 P3 = IC(4);
1764 } else {
1765 P3 = I1411(4, 5, 7);
1767 } break;
1768 case 253 :
1770 P0 = I31(4, 1);
1771 P1 = I31(4, 1);
1772 if (MDL) {
1773 P2 = IC(4);
1774 } else {
1775 P2 = I1411(4, 3, 7);
1777 if (MDR) {
1778 P3 = IC(4);
1779 } else {
1780 P3 = I1411(4, 5, 7);
1782 } break;
1783 case 254 :
1785 P0 = I31(4, 0);
1786 if (MDL) {
1787 P2 = IC(4);
1788 } else {
1789 P2 = I211(4, 3, 7);
1791 if (MDR) {
1792 P3 = IC(4);
1793 } else {
1794 P3 = I1411(4, 5, 7);
1796 if (MUR) {
1797 P1 = IC(4);
1798 } else {
1799 P1 = I211(4, 1, 5);
1801 } break;
1802 case 255 :
1804 if (MDL) {
1805 P2 = IC(4);
1806 } else {
1807 P2 = I1411(4, 3, 7);
1809 if (MDR) {
1810 P3 = IC(4);
1811 } else {
1812 P3 = I1411(4, 5, 7);
1814 if (MUL) {
1815 P0 = IC(4);
1816 } else {
1817 P0 = I1411(4, 1, 3);
1819 if (MUR) {
1820 P1 = IC(4);
1821 } else {
1822 P1 = I1411(4, 1, 5);
1824 } break;