comparison libtwamr/if1_bit_order.c @ 441:ebe499058c63

libtwamr: implement API functions for RFC 4867 I/O
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 May 2024 07:06:31 +0000
parents
children
comparison
equal deleted inserted replaced
440:bc736a8654af 441:ebe499058c63
1 /*
2 * The const tables supplied by this module are used by
3 * IF1 and RFC 4867 packing and unpacking functions.
4 */
5
6 #include <stdint.h>
7 #include "namespace.h"
8 #include "if1_func.h"
9
10 /* sorting tables for all modes */
11
12 const uint8_t sort_475[95] = {
13 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
14 10, 11, 12, 13, 14, 15, 23, 24, 25, 26,
15 27, 28, 48, 49, 61, 62, 82, 83, 47, 46,
16 45, 44, 81, 80, 79, 78, 17, 18, 20, 22,
17 77, 76, 75, 74, 29, 30, 43, 42, 41, 40,
18 38, 39, 16, 19, 21, 50, 51, 59, 60, 63,
19 64, 72, 73, 84, 85, 93, 94, 32, 33, 35,
20 36, 53, 54, 56, 57, 66, 67, 69, 70, 87,
21 88, 90, 91, 34, 55, 68, 89, 37, 58, 71,
22 92, 31, 52, 65, 86
23 };
24
25 const uint8_t sort_515[103] = {
26 7, 6, 5, 4, 3, 2, 1, 0, 15, 14,
27 13, 12, 11, 10, 9, 8, 23, 24, 25, 26,
28 27, 46, 65, 84, 45, 44, 43, 64, 63, 62,
29 83, 82, 81, 102, 101, 100, 42, 61, 80, 99,
30 28, 47, 66, 85, 18, 41, 60, 79, 98, 29,
31 48, 67, 17, 20, 22, 40, 59, 78, 97, 21,
32 30, 49, 68, 86, 19, 16, 87, 39, 38, 58,
33 57, 77, 35, 54, 73, 92, 76, 96, 95, 36,
34 55, 74, 93, 32, 51, 33, 52, 70, 71, 89,
35 90, 31, 50, 69, 88, 37, 56, 75, 94, 34,
36 53, 72, 91
37 };
38
39 const uint8_t sort_59[118] = {
40 0, 1, 4, 5, 3, 6, 7, 2, 13, 15,
41 8, 9, 11, 12, 14, 10, 16, 28, 74, 29,
42 75, 27, 73, 26, 72, 30, 76, 51, 97, 50,
43 71, 96, 117, 31, 77, 52, 98, 49, 70, 95,
44 116, 53, 99, 32, 78, 33, 79, 48, 69, 94,
45 115, 47, 68, 93, 114, 46, 67, 92, 113, 19,
46 21, 23, 22, 18, 17, 20, 24, 111, 43, 89,
47 110, 64, 65, 44, 90, 25, 45, 66, 91, 112,
48 54, 100, 40, 61, 86, 107, 39, 60, 85, 106,
49 36, 57, 82, 103, 35, 56, 81, 102, 34, 55,
50 80, 101, 42, 63, 88, 109, 41, 62, 87, 108,
51 38, 59, 84, 105, 37, 58, 83, 104
52 };
53
54 const uint8_t sort_67[134] = {
55 0, 1, 4, 3, 5, 6, 13, 7, 2, 8,
56 9, 11, 15, 12, 14, 10, 28, 82, 29, 83,
57 27, 81, 26, 80, 30, 84, 16, 55, 109, 56,
58 110, 31, 85, 57, 111, 48, 73, 102, 127, 32,
59 86, 51, 76, 105, 130, 52, 77, 106, 131, 58,
60 112, 33, 87, 19, 23, 53, 78, 107, 132, 21,
61 22, 18, 17, 20, 24, 25, 50, 75, 104, 129,
62 47, 72, 101, 126, 54, 79, 108, 133, 46, 71,
63 100, 125, 128, 103, 74, 49, 45, 70, 99, 124,
64 42, 67, 96, 121, 39, 64, 93, 118, 38, 63,
65 92, 117, 35, 60, 89, 114, 34, 59, 88, 113,
66 44, 69, 98, 123, 43, 68, 97, 122, 41, 66,
67 95, 120, 40, 65, 94, 119, 37, 62, 91, 116,
68 36, 61, 90, 115
69 };
70
71 const uint8_t sort_74[148] = {
72 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
73 10, 11, 12, 13, 14, 15, 16, 26, 87, 27,
74 88, 28, 89, 29, 90, 30, 91, 51, 80, 112,
75 141, 52, 81, 113, 142, 54, 83, 115, 144, 55,
76 84, 116, 145, 58, 119, 59, 120, 21, 22, 23,
77 17, 18, 19, 31, 60, 92, 121, 56, 85, 117,
78 146, 20, 24, 25, 50, 79, 111, 140, 57, 86,
79 118, 147, 49, 78, 110, 139, 48, 77, 53, 82,
80 114, 143, 109, 138, 47, 76, 108, 137, 32, 33,
81 61, 62, 93, 94, 122, 123, 41, 42, 43, 44,
82 45, 46, 70, 71, 72, 73, 74, 75, 102, 103,
83 104, 105, 106, 107, 131, 132, 133, 134, 135, 136,
84 34, 63, 95, 124, 35, 64, 96, 125, 36, 65,
85 97, 126, 37, 66, 98, 127, 38, 67, 99, 128,
86 39, 68, 100, 129, 40, 69, 101, 130
87 };
88
89 const uint8_t sort_795[159] = {
90 8, 7, 6, 5, 4, 3, 2, 14, 16, 9,
91 10, 12, 13, 15, 11, 17, 20, 22, 24, 23,
92 19, 18, 21, 56, 88, 122, 154, 57, 89, 123,
93 155, 58, 90, 124, 156, 52, 84, 118, 150, 53,
94 85, 119, 151, 27, 93, 28, 94, 29, 95, 30,
95 96, 31, 97, 61, 127, 62, 128, 63, 129, 59,
96 91, 125, 157, 32, 98, 64, 130, 1, 0, 25,
97 26, 33, 99, 34, 100, 65, 131, 66, 132, 54,
98 86, 120, 152, 60, 92, 126, 158, 55, 87, 121,
99 153, 117, 116, 115, 46, 78, 112, 144, 43, 75,
100 109, 141, 40, 72, 106, 138, 36, 68, 102, 134,
101 114, 149, 148, 147, 146, 83, 82, 81, 80, 51,
102 50, 49, 48, 47, 45, 44, 42, 39, 35, 79,
103 77, 76, 74, 71, 67, 113, 111, 110, 108, 105,
104 101, 145, 143, 142, 140, 137, 133, 41, 73, 107,
105 139, 37, 69, 103, 135, 38, 70, 104, 136
106 };
107
108 const uint8_t sort_102[204] = {
109 7, 6, 5, 4, 3, 2, 1, 0, 16, 15,
110 14, 13, 12, 11, 10, 9, 8, 26, 27, 28,
111 29, 30, 31, 115, 116, 117, 118, 119, 120, 72,
112 73, 161, 162, 65, 68, 69, 108, 111, 112, 154,
113 157, 158, 197, 200, 201, 32, 33, 121, 122, 74,
114 75, 163, 164, 66, 109, 155, 198, 19, 23, 21,
115 22, 18, 17, 20, 24, 25, 37, 36, 35, 34,
116 80, 79, 78, 77, 126, 125, 124, 123, 169, 168,
117 167, 166, 70, 67, 71, 113, 110, 114, 159, 156,
118 160, 202, 199, 203, 76, 165, 81, 82, 92, 91,
119 93, 83, 95, 85, 84, 94, 101, 102, 96, 104,
120 86, 103, 87, 97, 127, 128, 138, 137, 139, 129,
121 141, 131, 130, 140, 147, 148, 142, 150, 132, 149,
122 133, 143, 170, 171, 181, 180, 182, 172, 184, 174,
123 173, 183, 190, 191, 185, 193, 175, 192, 176, 186,
124 38, 39, 49, 48, 50, 40, 52, 42, 41, 51,
125 58, 59, 53, 61, 43, 60, 44, 54, 194, 179,
126 189, 196, 177, 195, 178, 187, 188, 151, 136, 146,
127 153, 134, 152, 135, 144, 145, 105, 90, 100, 107,
128 88, 106, 89, 98, 99, 62, 47, 57, 64, 45,
129 63, 46, 55, 56
130 };
131
132 const uint8_t sort_122[244] = {
133 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
134 10, 11, 12, 13, 14, 23, 15, 16, 17, 18,
135 19, 20, 21, 22, 24, 25, 26, 27, 28, 38,
136 141, 39, 142, 40, 143, 41, 144, 42, 145, 43,
137 146, 44, 147, 45, 148, 46, 149, 47, 97, 150,
138 200, 48, 98, 151, 201, 49, 99, 152, 202, 86,
139 136, 189, 239, 87, 137, 190, 240, 88, 138, 191,
140 241, 91, 194, 92, 195, 93, 196, 94, 197, 95,
141 198, 29, 30, 31, 32, 33, 34, 35, 50, 100,
142 153, 203, 89, 139, 192, 242, 51, 101, 154, 204,
143 55, 105, 158, 208, 90, 140, 193, 243, 59, 109,
144 162, 212, 63, 113, 166, 216, 67, 117, 170, 220,
145 36, 37, 54, 53, 52, 58, 57, 56, 62, 61,
146 60, 66, 65, 64, 70, 69, 68, 104, 103, 102,
147 108, 107, 106, 112, 111, 110, 116, 115, 114, 120,
148 119, 118, 157, 156, 155, 161, 160, 159, 165, 164,
149 163, 169, 168, 167, 173, 172, 171, 207, 206, 205,
150 211, 210, 209, 215, 214, 213, 219, 218, 217, 223,
151 222, 221, 73, 72, 71, 76, 75, 74, 79, 78,
152 77, 82, 81, 80, 85, 84, 83, 123, 122, 121,
153 126, 125, 124, 129, 128, 127, 132, 131, 130, 135,
154 134, 133, 176, 175, 174, 179, 178, 177, 182, 181,
155 180, 185, 184, 183, 188, 187, 186, 226, 225, 224,
156 229, 228, 227, 232, 231, 230, 235, 234, 233, 238,
157 237, 236, 96, 199
158 };