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