1 /// @file xed-rep-map.c
2
3 // This file was automatically generated.
4 // Do not edit this file.
5
6 /*BEGIN_LEGAL
7
8 Copyright (c) 2018 Intel Corporation
9
10 Licensed under the Apache License, Version 2.0 (the "License");
11 you may not use this file except in compliance with the License.
12 You may obtain a copy of the License at
13
14 http://www.apache.org/licenses/LICENSE-2.0
15
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
21
22 END_LEGAL */
23 #include "xed-internal-header.h"
xed_repe_map(xed_iclass_enum_t iclass)24 XED_DLL_EXPORT xed_iclass_enum_t xed_repe_map(xed_iclass_enum_t iclass)
25 {
26 const xed_uint16_t lu_table[84] = {
27 /* 0xFFFF -> 0 */ 0xFFFF, 0,
28 /* 0xFFFF -> 1 */ 0xFFFF, 0,
29 /* 0xFFFF -> 2 */ 0xFFFF, 0,
30 /* 0xFFFF -> 3 */ 0xFFFF, 0,
31 /* 0xFFFF -> 4 */ 0xFFFF, 0,
32 /* 728 -> 5 */ 728, 678,
33 /* 0xFFFF -> 6 */ 0xFFFF, 0,
34 /* 0xFFFF -> 7 */ 0xFFFF, 0,
35 /* 0xFFFF -> 8 */ 0xFFFF, 0,
36 /* 726 -> 9 */ 726, 676,
37 /* 0xFFFF -> 10 */ 0xFFFF, 0,
38 /* 0xFFFF -> 11 */ 0xFFFF, 0,
39 /* 0xFFFF -> 12 */ 0xFFFF, 0,
40 /* 104 -> 13 */ 104, 673,
41 /* 0xFFFF -> 14 */ 0xFFFF, 0,
42 /* 0xFFFF -> 15 */ 0xFFFF, 0,
43 /* 0xFFFF -> 16 */ 0xFFFF, 0,
44 /* 0xFFFF -> 17 */ 0xFFFF, 0,
45 /* 0xFFFF -> 18 */ 0xFFFF, 0,
46 /* 0xFFFF -> 19 */ 0xFFFF, 0,
47 /* 0xFFFF -> 20 */ 0xFFFF, 0,
48 /* 0xFFFF -> 21 */ 0xFFFF, 0,
49 /* 0xFFFF -> 22 */ 0xFFFF, 0,
50 /* 0xFFFF -> 23 */ 0xFFFF, 0,
51 /* 0xFFFF -> 24 */ 0xFFFF, 0,
52 /* 0xFFFF -> 25 */ 0xFFFF, 0,
53 /* 0xFFFF -> 26 */ 0xFFFF, 0,
54 /* 0xFFFF -> 27 */ 0xFFFF, 0,
55 /* 0xFFFF -> 28 */ 0xFFFF, 0,
56 /* 729 -> 29 */ 729, 679,
57 /* 0xFFFF -> 30 */ 0xFFFF, 0,
58 /* 0xFFFF -> 31 */ 0xFFFF, 0,
59 /* 0xFFFF -> 32 */ 0xFFFF, 0,
60 /* 727 -> 33 */ 727, 677,
61 /* 108 -> 34 */ 108, 675,
62 /* 0xFFFF -> 35 */ 0xFFFF, 0,
63 /* 0xFFFF -> 36 */ 0xFFFF, 0,
64 /* 0xFFFF -> 37 */ 0xFFFF, 0,
65 /* 106 -> 38 */ 106, 674,
66 /* 0xFFFF -> 39 */ 0xFFFF, 0,
67 /* 0xFFFF -> 40 */ 0xFFFF, 0,
68 /* 103 -> 41 */ 103, 672,
69 };
70 const xed_uint_t key = (xed_uint_t)iclass;
71 const xed_uint_t hash = ((24*key % 179) % 52);
72 if (hash <= 41) {
73 const xed_uint_t ek = lu_table[2*hash];
74 if (ek == key) {
75 const xed_uint_t v = lu_table[2*hash+1];
76 return (xed_iclass_enum_t) v;
77 }
78 }
79 return XED_ICLASS_INVALID;
80 }
xed_repne_map(xed_iclass_enum_t iclass)81 XED_DLL_EXPORT xed_iclass_enum_t xed_repne_map(xed_iclass_enum_t iclass)
82 {
83 const xed_uint16_t lu_table[84] = {
84 /* 0xFFFF -> 0 */ 0xFFFF, 0,
85 /* 0xFFFF -> 1 */ 0xFFFF, 0,
86 /* 0xFFFF -> 2 */ 0xFFFF, 0,
87 /* 0xFFFF -> 3 */ 0xFFFF, 0,
88 /* 0xFFFF -> 4 */ 0xFFFF, 0,
89 /* 728 -> 5 */ 728, 686,
90 /* 0xFFFF -> 6 */ 0xFFFF, 0,
91 /* 0xFFFF -> 7 */ 0xFFFF, 0,
92 /* 0xFFFF -> 8 */ 0xFFFF, 0,
93 /* 726 -> 9 */ 726, 684,
94 /* 0xFFFF -> 10 */ 0xFFFF, 0,
95 /* 0xFFFF -> 11 */ 0xFFFF, 0,
96 /* 0xFFFF -> 12 */ 0xFFFF, 0,
97 /* 104 -> 13 */ 104, 681,
98 /* 0xFFFF -> 14 */ 0xFFFF, 0,
99 /* 0xFFFF -> 15 */ 0xFFFF, 0,
100 /* 0xFFFF -> 16 */ 0xFFFF, 0,
101 /* 0xFFFF -> 17 */ 0xFFFF, 0,
102 /* 0xFFFF -> 18 */ 0xFFFF, 0,
103 /* 0xFFFF -> 19 */ 0xFFFF, 0,
104 /* 0xFFFF -> 20 */ 0xFFFF, 0,
105 /* 0xFFFF -> 21 */ 0xFFFF, 0,
106 /* 0xFFFF -> 22 */ 0xFFFF, 0,
107 /* 0xFFFF -> 23 */ 0xFFFF, 0,
108 /* 0xFFFF -> 24 */ 0xFFFF, 0,
109 /* 0xFFFF -> 25 */ 0xFFFF, 0,
110 /* 0xFFFF -> 26 */ 0xFFFF, 0,
111 /* 0xFFFF -> 27 */ 0xFFFF, 0,
112 /* 0xFFFF -> 28 */ 0xFFFF, 0,
113 /* 729 -> 29 */ 729, 687,
114 /* 0xFFFF -> 30 */ 0xFFFF, 0,
115 /* 0xFFFF -> 31 */ 0xFFFF, 0,
116 /* 0xFFFF -> 32 */ 0xFFFF, 0,
117 /* 727 -> 33 */ 727, 685,
118 /* 108 -> 34 */ 108, 683,
119 /* 0xFFFF -> 35 */ 0xFFFF, 0,
120 /* 0xFFFF -> 36 */ 0xFFFF, 0,
121 /* 0xFFFF -> 37 */ 0xFFFF, 0,
122 /* 106 -> 38 */ 106, 682,
123 /* 0xFFFF -> 39 */ 0xFFFF, 0,
124 /* 0xFFFF -> 40 */ 0xFFFF, 0,
125 /* 103 -> 41 */ 103, 680,
126 };
127 const xed_uint_t key = (xed_uint_t)iclass;
128 const xed_uint_t hash = ((24*key % 179) % 52);
129 if (hash <= 41) {
130 const xed_uint_t ek = lu_table[2*hash];
131 if (ek == key) {
132 const xed_uint_t v = lu_table[2*hash+1];
133 return (xed_iclass_enum_t) v;
134 }
135 }
136 return XED_ICLASS_INVALID;
137 }
xed_rep_map(xed_iclass_enum_t iclass)138 XED_DLL_EXPORT xed_iclass_enum_t xed_rep_map(xed_iclass_enum_t iclass)
139 {
140 const xed_uint16_t lu_table[102] = {
141 /* 780 -> 0 */ 780, 703,
142 /* 0xFFFF -> 1 */ 0xFFFF, 0,
143 /* 0xFFFF -> 2 */ 0xFFFF, 0,
144 /* 0xFFFF -> 3 */ 0xFFFF, 0,
145 /* 0xFFFF -> 4 */ 0xFFFF, 0,
146 /* 0xFFFF -> 5 */ 0xFFFF, 0,
147 /* 0xFFFF -> 6 */ 0xFFFF, 0,
148 /* 385 -> 7 */ 385, 693,
149 /* 482 -> 8 */ 482, 701,
150 /* 0xFFFF -> 9 */ 0xFFFF, 0,
151 /* 0xFFFF -> 10 */ 0xFFFF, 0,
152 /* 383 -> 11 */ 383, 691,
153 /* 480 -> 12 */ 480, 699,
154 /* 0xFFFF -> 13 */ 0xFFFF, 0,
155 /* 0xFFFF -> 14 */ 0xFFFF, 0,
156 /* 445 -> 15 */ 445, 698,
157 /* 0xFFFF -> 16 */ 0xFFFF, 0,
158 /* 281 -> 17 */ 281, 690,
159 /* 0xFFFF -> 18 */ 0xFFFF, 0,
160 /* 443 -> 19 */ 443, 697,
161 /* 0xFFFF -> 20 */ 0xFFFF, 0,
162 /* 0xFFFF -> 21 */ 0xFFFF, 0,
163 /* 0xFFFF -> 22 */ 0xFFFF, 0,
164 /* 0xFFFF -> 23 */ 0xFFFF, 0,
165 /* 781 -> 24 */ 781, 704,
166 /* 277 -> 25 */ 277, 688,
167 /* 438 -> 26 */ 438, 695,
168 /* 0xFFFF -> 27 */ 0xFFFF, 0,
169 /* 779 -> 28 */ 779, 702,
170 /* 0xFFFF -> 29 */ 0xFFFF, 0,
171 /* 0xFFFF -> 30 */ 0xFFFF, 0,
172 /* 386 -> 31 */ 386, 694,
173 /* 0xFFFF -> 32 */ 0xFFFF, 0,
174 /* 0xFFFF -> 33 */ 0xFFFF, 0,
175 /* 0xFFFF -> 34 */ 0xFFFF, 0,
176 /* 384 -> 35 */ 384, 692,
177 /* 481 -> 36 */ 481, 700,
178 /* 0xFFFF -> 37 */ 0xFFFF, 0,
179 /* 0xFFFF -> 38 */ 0xFFFF, 0,
180 /* 0xFFFF -> 39 */ 0xFFFF, 0,
181 /* 0xFFFF -> 40 */ 0xFFFF, 0,
182 /* 0xFFFF -> 41 */ 0xFFFF, 0,
183 /* 0xFFFF -> 42 */ 0xFFFF, 0,
184 /* 0xFFFF -> 43 */ 0xFFFF, 0,
185 /* 0xFFFF -> 44 */ 0xFFFF, 0,
186 /* 0xFFFF -> 45 */ 0xFFFF, 0,
187 /* 0xFFFF -> 46 */ 0xFFFF, 0,
188 /* 0xFFFF -> 47 */ 0xFFFF, 0,
189 /* 782 -> 48 */ 782, 705,
190 /* 278 -> 49 */ 278, 689,
191 /* 439 -> 50 */ 439, 696,
192 };
193 const xed_uint_t key = (xed_uint_t)iclass;
194 const xed_uint_t hash = ((24*key % 179) % 52);
195 if (hash <= 50) {
196 const xed_uint_t ek = lu_table[2*hash];
197 if (ek == key) {
198 const xed_uint_t v = lu_table[2*hash+1];
199 return (xed_iclass_enum_t) v;
200 }
201 }
202 return XED_ICLASS_INVALID;
203 }
xed_norep_map(xed_iclass_enum_t iclass)204 XED_DLL_EXPORT xed_iclass_enum_t xed_norep_map(xed_iclass_enum_t iclass)
205 {
206 const xed_uint16_t lu_table[34] = {
207 /* 672 -> 0 */ 103,
208 /* 673 -> 1 */ 104,
209 /* 674 -> 2 */ 106,
210 /* 675 -> 3 */ 108,
211 /* 676 -> 4 */ 726,
212 /* 677 -> 5 */ 727,
213 /* 678 -> 6 */ 728,
214 /* 679 -> 7 */ 729,
215 /* 680 -> 8 */ 103,
216 /* 681 -> 9 */ 104,
217 /* 682 -> 10 */ 106,
218 /* 683 -> 11 */ 108,
219 /* 684 -> 12 */ 726,
220 /* 685 -> 13 */ 727,
221 /* 686 -> 14 */ 728,
222 /* 687 -> 15 */ 729,
223 /* 688 -> 16 */ 277,
224 /* 689 -> 17 */ 278,
225 /* 690 -> 18 */ 281,
226 /* 691 -> 19 */ 383,
227 /* 692 -> 20 */ 384,
228 /* 693 -> 21 */ 385,
229 /* 694 -> 22 */ 386,
230 /* 695 -> 23 */ 438,
231 /* 696 -> 24 */ 439,
232 /* 697 -> 25 */ 443,
233 /* 698 -> 26 */ 445,
234 /* 699 -> 27 */ 480,
235 /* 700 -> 28 */ 481,
236 /* 701 -> 29 */ 482,
237 /* 702 -> 30 */ 779,
238 /* 703 -> 31 */ 780,
239 /* 704 -> 32 */ 781,
240 /* 705 -> 33 */ 782,
241 };
242 const xed_uint_t key = (xed_uint_t)iclass;
243 const xed_uint_t hash = key - 672;
244 if (hash <= 33) {
245 const xed_uint_t v = lu_table[hash];
246 return (xed_iclass_enum_t) v;
247 }
248 return XED_ICLASS_INVALID;
249 }
250