GNU Radio's DSD Package
imbe7200x4400_const.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 mbelib Author
3  * GPG Key ID: 0xEA5EFE2C (9E7A 5527 9CDC EBF7 BF1B D772 4F98 E863 EA5E FE2C)
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  * PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef _IMBE7200X4400_CONST_H
19 #define _IMBE7200X4400_CONST_H
20 
21 /*
22  * Quantizer step size for higher order DCT coefficients
23  */
24 const float quantstep[11] = {
25  1.2, 0.85, 0.65, 0.40, 0.28, 0.15, 0.08, 0.04, 0.02, 0.01
26 };
27 
28 /*
29  * Standard Dev. for higer order DCT coefficients
30  */
31 const float standdev[9] = {
32  0.307, 0.241, 0.207, 0.190, 0.179, 0.173, 0.165, 0.170, 0.170
33 };
34 
35 /*
36  *
37  */
38 const float B2[64] = {
39  -2.842205, -2.694235, -2.558260, -2.382850,
40  -2.221042, -2.095574, -1.980845, -1.836058,
41  -1.645556, -1.417658, -1.261301, -1.125631,
42  -0.958207, -0.781591, -0.555837, -0.346976,
43  -0.147249, 0.027755, 0.211495, 0.388380,
44  0.552873, 0.737223, 0.932197, 1.139032,
45  1.320955, 1.483433, 1.648297, 1.801447,
46  1.942731, 2.118613, 2.321486, 2.504443,
47  2.653909, 2.780654, 2.925355, 3.076390,
48  3.220825, 3.402869, 3.585096, 3.784606,
49  3.955521, 4.155636, 4.314009, 4.444150,
50  4.577542, 4.735552, 4.909493, 5.085264,
51  5.254767, 5.411894, 5.568094, 5.738523,
52  5.919215, 6.087701, 6.280685, 6.464201,
53  6.647736, 6.834672, 7.022583, 7.211777,
54  7.471016, 7.738948, 8.124863, 8.695827
55 };
56 
57 /*
58  * bit allocation and step size for transformed gain vector
59  */
60 const float ba[48][5][2] = {
61 
62  // L=9
63  10, 0.003100, 9, 0.004020, 9, 0.003360, 9, 0.002900, 9, 0.002640,
64  // L=10
65  9, 0.006200, 9, 0.004020, 8, 0.006720, 8, 0.005800, 8, 0.005280,
66  // L=11
67  8, 0.012400, 8, 0.008040, 8, 0.006720, 7, 0.011600, 7, 0.010560,
68  // L=12
69  8, 0.012400, 7, 0.016080, 7, 0.013440, 7, 0.011600, 7, 0.010560,
70  // L=13
71  7, 0.024800, 7, 0.016080, 7, 0.013440, 6, 0.021750, 6, 0.019800,
72  // L=14
73  7, 0.024800, 6, 0.030150, 6, 0.025200, 6, 0.021750, 6, 0.019800,
74  // L=15
75  7, 0.024800, 6, 0.030150, 6, 0.025200, 6, 0.021750, 5, 0.036960,
76  // L=16
77  6, 0.046500, 6, 0.030150, 6, 0.025200, 5, 0.040600, 5, 0.036960,
78  // L=17
79  6, 0.046500, 6, 0.030150, 5, 0.047040, 5, 0.040600, 5, 0.036960,
80  // L=18
81  6, 0.046500, 5, 0.056280, 5, 0.047040, 5, 0.040600, 5, 0.036960,
82  // L=19
83  6, 0.046500, 5, 0.056280, 5, 0.047040, 4, 0.058000, 4, 0.052800,
84  // L=20
85  6, 0.046500, 5, 0.056280, 5, 0.047040, 4, 0.058000, 4, 0.052800,
86  // L=21
87  5, 0.086800, 5, 0.056280, 5, 0.047040, 4, 0.058000, 4, 0.052800,
88  // L=22
89  5, 0.086800, 5, 0.056280, 4, 0.067200, 4, 0.058000, 4, 0.052800,
90  // L=23
91  5, 0.086800, 4, 0.080400, 4, 0.067200, 4, 0.068000, 4, 0.052800,
92  // L=24
93  5, 0.086800, 4, 0.080400, 4, 0.067200, 4, 0.058000, 4, 0.052800,
94  // L=25
95  5, 0.086800, 4, 0.080400, 4, 0.067200, 4, 0.058000, 3, 0.085800,
96  // L=26
97  5, 0.086800, 4, 0.080400, 4, 0.067200, 3, 0.094250, 3, 0.085800,
98  // L=27
99  5, 0.086800, 4, 0.080400, 4, 0.067200, 3, 0.094250, 3, 0.085800,
100  // L=28
101  4, 0.124000, 4, 0.080400, 4, 0.067200, 3, 0.094250, 3, 0.085800,
102  // L=29
103  4, 0.124000, 4, 0.080400, 4, 0.067200, 3, 0.094250, 3, 0.085800,
104  // L=30
105  4, 0.124000, 4, 0.080400, 4, 0.067200, 3, 0.094250, 3, 0.085800,
106  // L=31
107  4, 0.124000, 4, 0.080400, 3, 0.109200, 3, 0.094250, 3, 0.085800,
108  // L=32
109  4, 0.124000, 4, 0.080400, 3, 0.109200, 3, 0.094250, 3, 0.085800,
110  // L=33
111  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 3, 0.085800,
112  // L=34
113  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 3, 0.085800,
114  // L=35
115  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 3, 0.085800,
116  // L=36
117  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 3, 0.085800,
118  // L=37
119  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 2, 0.112200,
120  // L=38
121  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 2, 0.112200,
122  // L=39
123  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 2, 0.112200,
124  // L=40
125  4, 0.124000, 3, 0.130650, 3, 0.109200, 3, 0.094250, 2, 0.112200,
126  // L=41
127  4, 0.124000, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
128  // L=42
129  4, 0.124000, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
130  // L=43
131  4, 0.124000, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
132  // L=44
133  4, 0.124000, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
134  // L=45
135  4, 0.124000, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
136  // L=46
137  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
138  // L=47
139  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
140  // L=48
141  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
142  // L=49
143  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
144  // L=50
145  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
146  // L=51
147  3, 0.201500, 3, 0.130650, 3, 0.109200, 2, 0.123250, 2, 0.112200,
148  // L=52
149  3, 0.201500, 3, 0.130650, 2, 0.142800, 2, 0.123250, 2, 0.112200,
150  // L=53
151  3, 0.201500, 3, 0.130650, 2, 0.142800, 2, 0.123250, 2, 0.112200,
152  // L=54
153  3, 0.201500, 3, 0.130650, 2, 0.142800, 2, 0.123250, 2, 0.112200,
154  // L=55
155  3, 0.201500, 3, 0.130650, 2, 0.142800, 2, 0.123250, 2, 0.112200,
156  // L=56
157  3, 0.201500, 3, 0.130650, 2, 0.142800, 2, 0.123250, 2, 0.112200
158 };
159 
160 /*
161  * Bit allocation for higher Order DCT Coefficients
162  */
163 const int hoba[48][50] = {
164  // L=9
165  {9, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
168  // L=10
169  {9, 7, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
170  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
171  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
172  // L=11
173  {9, 7, 6, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
174  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
176  // L=12
177  {8, 7, 6, 5, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
180  // L=13
181  {7, 7, 6, 5, 4, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
182  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
183  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
184  // L=14
185  {7, 7, 5, 4, 4, 3, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
186  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
188  // L=15
189  {6, 7, 5, 4, 4, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
192  // L=16
193  {6, 6, 5, 4, 4, 3, 3, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
196  // L=17
197  {5, 5, 5, 4, 4, 4, 3, 3, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
200  // L=18
201  {5, 4, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
202  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
204  // L=19
205  {5, 4, 5, 4, 4, 3, 3, 3, 3, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
206  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
208  // L=20
209  {5, 4, 5, 4, 4, 3, 3, 2, 3, 2, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0,
210  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
212  // L=21
213  {4, 4, 5, 4, 4, 3, 3, 2, 2, 3, 2, 1, 3, 2, 1, 0, 0, 0, 0, 0,
214  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
215  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
216  // L=22
217  {4, 4, 4, 4, 4, 3, 2, 3, 2, 2, 3, 2, 1, 2, 2, 1, 0, 0, 0, 0,
218  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
220  // L=23
221  {4, 3, 4, 4, 3, 4, 3, 2, 3, 2, 2, 2, 2, 1, 2, 2, 1, 0, 0, 0,
222  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
224  // L=24
225  {4, 3, 3, 4, 3, 3, 3, 3, 2, 3, 2, 1, 2, 2, 1, 2, 2, 1, 0, 0,
226  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
228  // L=25
229  {4, 3, 3, 4, 3, 3, 3, 3, 2, 3, 2, 1, 2, 2, 1, 2, 1, 1, 1, 0,
230  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
231  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
232  // L=26
233  {4, 3, 3, 4, 3, 3, 3, 2, 2, 3, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1,
234  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
236  // L=27
237  {4, 3, 2, 4, 3, 2, 3, 2, 2, 3, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1,
238  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
240  // L=28
241  {4, 3, 2, 4, 3, 2, 3, 2, 2, 2, 3, 2, 1, 1, 2, 2, 1, 1, 2, 1,
242  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
243  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
244  // L=29
245  {3, 3, 2, 4, 3, 2, 2, 3, 2, 2, 2, 3, 2, 1, 1, 2, 1, 1, 1, 2,
246  1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
248  // L=30
249  {3, 3, 2, 2, 3, 3, 2, 2, 3, 2, 2, 1, 3, 2, 1, 1, 2, 1, 1, 1,
250  2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
252  // L=31
253  {3, 3, 2, 2, 3, 3, 2, 2, 3, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1,
254  2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
256  // L=32
257  {3, 3, 2, 2, 3, 3, 2, 2, 3, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1,
258  1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
260  // L=33
261  {3, 3, 2, 2, 3, 3, 2, 2, 3, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1,
262  1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
263  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
264  // L=34
265  {3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1,
266  1, 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
267  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
268  // L=35
269  {3, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2,
270  1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
271  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
272  // L=36
273  {3, 2, 2, 2, 1, 3, 2, 2, 2, 1, 3, 2, 1, 1, 1, 2, 2, 1, 1, 1,
274  2, 1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
275  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
276  // L=37
277  {3, 2, 2, 2, 1, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 1, 1, 1, 1,
278  2, 1, 1, 1, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
280  // L=38
281  {3, 2, 2, 2, 1, 3, 2, 2, 2, 1, 3, 2, 1, 1, 1, 2, 1, 1, 1, 1,
282  2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
284  // L=39
285  {3, 2, 2, 2, 1, 3, 2, 2, 2, 1, 3, 2, 1, 1, 1, 2, 2, 1, 1, 1,
286  0, 2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
287  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
288  // L=40
289  {3, 2, 2, 2, 1, 3, 2, 2, 1, 1, 3, 2, 1, 1, 1, 1, 2, 2, 1, 1,
290  1, 0, 2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
291  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
292  // L=41
293  {3, 2, 2, 1, 1, 3, 2, 2, 2, 1, 1, 3, 2, 1, 1, 1, 1, 2, 2, 1,
294  1, 1, 0, 2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
295  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
296  // L=42
297  {3, 2, 2, 2, 1, 1, 3, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2,
298  1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0,
299  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
300  // L=43
301  {3, 2, 2, 2, 1, 1, 3, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1,
302  1, 1, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0,
303  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
304  // L=44
305  {3, 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1,
306  1, 1, 1, 0, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0,
307  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
308  // L=45
309  {3, 2, 2, 1, 1, 1, 3, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2,
310  1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0,
311  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
312  // L=46
313  {3, 2, 2, 1, 1, 1, 3, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2,
314  2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0,
315  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
316  // L=47
317  {3, 2, 2, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1,
318  2, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0,
319  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
320  // L=48
321  {3, 2, 2, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
322  1, 2, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 0,
323  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
324  // L=49
325  {3, 2, 2, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
326  0, 2, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1,
327  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
328  // L=50
329  {3, 2, 2, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
330  0, 2, 2, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1,
331  0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
332  // L=51
333  {3, 2, 2, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
334  0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 2, 1, 1,
335  1, 1, 0, 0, 0, 0, 0, 0, 0, 0},
336  // L=52
337  {3, 2, 1, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
338  1, 0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 2, 1,
339  1, 1, 1, 0, 0, 0, 0, 0, 0, 0},
340  // L=53
341  {3, 2, 1, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
342  1, 1, 0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 2,
343  1, 1, 1, 0, 0, 0, 0, 0, 0, 0},
344  // L=54
345  {3, 2, 2, 1, 1, 1, 1, 0, 3, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 1,
346  1, 1, 1, 0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0,
347  2, 1, 1, 1, 0, 0, 0, 0, 0, 0},
348  // L=55
349  {3, 2, 2, 1, 1, 1, 1, 0, 3, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 1,
350  1, 1, 1, 0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0,
351  2, 1, 1, 1, 1, 0, 0, 0, 0, 0},
352  // L=56
353  {3, 2, 2, 1, 1, 1, 1, 0, 3, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 1,
354  1, 1, 1, 0, 2, 2, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0,
355  0, 2, 1, 1, 1, 0, 0, 0, 0, 0}
356 };
357 
358 
359 /*
360  * bit order for reading data out of imbe data
361  */
362 
363  // L=9
364 const int bo[48][79][2] = { 2, 5, 2, 4, 2, 3, 3, 9, 3, 8, 4, 8,
365  5, 8, 6, 8, 7, 8, 8, 8, 3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8, 7, 9, 7, 3, 6,
366  4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, 6, 10, 6, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5,
367  8, 5, 9, 5, 10, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 3, 3,
368  1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3,
369  10, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 3, 1, 4, 1,
370  5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
371  8, 0, 9, 0, 10, 0, 2, 0,
372 
373  // L=10
374  2, 5, 2, 4, 2, 3, 3, 8, 4, 8, 8, 8,
375  3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8, 7, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6,
376  9, 6, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, 5, 3, 4, 4, 4, 5, 4,
377  6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 11, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3,
378  1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 9, 3, 10, 3, 11, 3, 3, 2, 4, 2,
379  5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 3, 1, 4, 1, 5, 1, 6, 1,
380  7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
381  9, 0, 10, 0, 11, 0, 2, 0,
382 
383  // L=11
384  2, 5, 2, 4, 2, 3, 8, 8, 3, 7, 4, 7,
385  5, 7, 8, 7, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, 6, 3, 5, 4, 5, 5, 5,
386  6, 5, 7, 5, 8, 5, 9, 5, 10, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4,
387  10, 4, 11, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3,
388  1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2,
389  8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
390  9, 1, 10, 1, 11, 1, 12, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
391  10, 0, 11, 0, 12, 0, 2, 0,
392 
393  // L=12
394  2, 5, 2, 4, 2, 3, 3, 7, 8, 7, 3, 6,
395  4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, 6, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5,
396  9, 5, 10, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 11, 4, 3, 3,
397  4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2, 4, 2, 5, 2,
398  1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2,
399  11, 2, 12, 2, 13, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1,
400  11, 1, 12, 1, 13, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0,
401  11, 0, 12, 0, 13, 0, 2, 0,
402 
403  // L=13
404  2, 5, 2, 4, 2, 3, 3, 6, 4, 6, 5, 6,
405  8, 6, 9, 6, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, 5, 3, 4, 4, 4,
406  5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 11, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3,
407  8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2,
408  1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 10, 2, 11, 2, 12, 2, 13, 2,
409  14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1,
410  13, 1, 14, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0,
411  12, 0, 13, 0, 14, 0, 2, 0,
412 
413  // L=14
414  2, 5, 2, 4, 2, 3, 3, 6, 8, 6, 9, 6,
415  3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4,
416  8, 4, 9, 4, 10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3,
417  12, 3, 14, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2,
418  1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 13, 2, 14, 2, 15, 2, 3, 1,
419  4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1,
420  15, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
421  13, 0, 14, 0, 15, 0, 2, 0,
422 
423  // L=15
424  2, 5, 2, 4, 2, 3, 3, 6, 9, 6, 3, 5,
425  4, 5, 5, 5, 6, 5, 8, 5, 9, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4,
426  10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2,
427  4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2,
428  1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 16, 2, 3, 1, 4, 1, 5, 1,
429  6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1,
430  3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0,
431  14, 0, 15, 0, 16, 0, 2, 0,
432 
433  // L=16
434  2, 5, 2, 4, 2, 3, 3, 5, 4, 5, 5, 5,
435  8, 5, 9, 5, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 3, 3, 4, 3,
436  5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2, 4, 2, 5, 2, 6, 2,
437  7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 3, 1, 4, 1,
438  1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 5, 1, 6, 1, 7, 1,
439  8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 3, 0,
440  4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0,
441  15, 0, 16, 0, 17, 0, 2, 0,
442 
443  // L=17
444  2, 5, 2, 4, 2, 3, 3, 5, 4, 5, 3, 4,
445  4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3,
446  8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2,
447  9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1,
448  1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 7, 1, 8, 1, 9, 1,
449  10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 3, 0, 4, 0,
450  5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0,
451  16, 0, 17, 0, 18, 0, 2, 0,
452 
453  // L=18
454  2, 5, 2, 4, 2, 3, 3, 5, 3, 4, 4, 4,
455  5, 4, 6, 4, 7, 4, 8, 4, 10, 4, 11, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3,
456  9, 3, 10, 3, 11, 3, 12, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2,
457  11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
458  1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 9, 1, 10, 1, 11, 1,
459  12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 3, 0, 4, 0, 5, 0,
460  6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0,
461  17, 0, 18, 0, 19, 0, 2, 0,
462 
463  // L=19
464  2, 5, 2, 4, 2, 3, 3, 5, 3, 4, 4, 4,
465  5, 4, 8, 4, 10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3,
466  12, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2,
467  14, 2, 15, 2, 16, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1,
468  1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 11, 1, 12, 1,
469  13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 3, 0, 4, 0, 5, 0, 6, 0,
470  7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0,
471  18, 0, 19, 0, 20, 0, 2, 0,
472 
473  // L=20
474  2, 5, 2, 4, 2, 3, 3, 5, 3, 4, 4, 4,
475  5, 4, 8, 4, 10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3,
476  12, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2,
477  14, 2, 16, 2, 19, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1,
478  1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 12, 1, 13, 1,
479  14, 1, 15, 1, 16, 1, 17, 1, 19, 1, 20, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
480  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0,
481  19, 0, 20, 0, 21, 0, 2, 0,
482 
483  // L=21
484  2, 5, 2, 4, 2, 3, 3, 4, 4, 4, 5, 4,
485  10, 4, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2,
486  4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 17, 2,
487  20, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1,
488  1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 14, 1, 15, 1,
489  16, 1, 17, 1, 18, 1, 20, 1, 21, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
490  9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
491  20, 0, 21, 0, 22, 0, 2, 0,
492 
493  // L=22
494  2, 5, 2, 4, 2, 3, 3, 4, 4, 4, 3, 3,
495  4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 3, 2, 4, 2, 5, 2,
496  6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 15, 2, 18, 2, 3, 1, 4, 1,
497  5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1,
498  1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 17, 1,
499  18, 1, 19, 1, 21, 1, 22, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
500  10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0,
501  21, 0, 22, 0, 23, 0, 2, 0,
502 
503  // L=23
504  2, 5, 2, 4, 2, 3, 3, 4, 3, 3, 4, 3,
505  5, 3, 6, 3, 7, 3, 8, 3, 10, 3, 11, 3, 13, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2,
506  8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 16, 2, 3, 1, 4, 1, 5, 1, 6, 1,
507  7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1,
508  1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 19, 1,
509  20, 1, 22, 1, 23, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0,
510  11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
511  22, 0, 23, 0, 24, 0, 2, 0,
512 
513  // L=24
514  2, 5, 2, 4, 2, 3, 3, 4, 3, 3, 4, 3,
515  5, 3, 6, 3, 7, 3, 8, 3, 11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2,
516  10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1,
517  8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 20, 1,
518  1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1, 21, 1,
519  23, 1, 24, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0,
520  12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0,
521  23, 0, 24, 0, 25, 0, 2, 0,
522 
523  // L=25
524  2, 5, 2, 4, 2, 3, 3, 4, 3, 3, 4, 3,
525  5, 3, 6, 3, 8, 3, 11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2,
526  11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
527  9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 20, 1, 21, 1,
528  1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1,
529  23, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
530  13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0,
531  24, 0, 25, 0, 26, 0, 2, 0,
532 
533  // L=26
534  2, 5, 2, 4, 2, 3, 3, 4, 3, 3, 4, 3,
535  5, 3, 8, 3, 11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2,
536  12, 2, 13, 2, 14, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1,
537  11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 20, 1, 21, 1, 24, 1, 25, 1,
538  1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1,
539  3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0,
540  14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0,
541  25, 0, 26, 0, 27, 0, 2, 0,
542 
543  // L=27
544  2, 5, 2, 4, 2, 3, 3, 4, 3, 3, 4, 3,
545  5, 3, 8, 3, 11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 11, 2, 12, 2,
546  14, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1,
547  13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 21, 1, 22, 1, 25, 1, 26, 1, 3, 0,
548  1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2, 2, 1,
549  4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0,
550  15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0,
551  26, 0, 27, 0, 28, 0, 2, 0,
552 
553  // L=28
554  2, 5, 2, 4, 2, 3, 3, 3, 4, 3, 5, 3,
555  8, 3, 11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 11, 2, 12, 2, 14, 2,
556  18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1,
557  14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 22, 1, 23, 1, 26, 1, 3, 0, 4, 0, 5, 0,
558  1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2,
559  2, 1, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0,
560  16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0,
561  27, 0, 28, 0, 29, 0, 2, 0,
562 
563  // L=29
564  2, 5, 2, 4, 2, 3, 3, 3, 4, 3, 5, 3,
565  11, 3, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 11, 2, 12, 2, 15, 2, 19, 2,
566  3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1,
567  15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, 1, 23, 1, 27, 1, 3, 0, 4, 0, 5, 0, 6, 0,
568  1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2,
569  2, 1, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0,
570  17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
571  28, 0, 29, 0, 30, 0, 2, 0,
572 
573  // L=30
574  2, 5, 2, 4, 2, 3, 3, 3, 4, 3, 5, 3,
575  3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 12, 2, 13, 2, 16, 2, 20, 2, 3, 1,
576  4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1,
577  16, 1, 17, 1, 18, 1, 20, 1, 21, 1, 24, 1, 28, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
578  1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0, 2, 2,
579  2, 1, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0,
580  18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0,
581  29, 0, 30, 0, 31, 0, 2, 0,
582 
583  // L=31
584  2, 5, 2, 4, 2, 3, 3, 3, 4, 3, 3, 2,
585  4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 12, 2, 13, 2, 16, 2, 3, 1, 4, 1, 5, 1,
586  6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1,
587  18, 1, 20, 1, 21, 1, 24, 1, 28, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
588  1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0,
589  2, 2, 2, 1, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0,
590  19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0,
591  30, 0, 31, 0, 32, 0, 2, 0,
592 
593  // L=32
594  2, 5, 2, 4, 2, 3, 3, 3, 4, 3, 3, 2,
595  4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 12, 2, 13, 2, 16, 2, 3, 1, 4, 1, 5, 1,
596  6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1,
597  18, 1, 20, 1, 21, 1, 24, 1, 29, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
598  1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0,
599  2, 2, 2, 1, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0,
600  19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0,
601  30, 0, 31, 0, 32, 0, 2, 0,
602 
603  // L=33
604  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
605  5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 12, 2, 13, 2, 16, 2, 3, 1, 4, 1, 5, 1, 6, 1,
606  7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 20, 1,
607  21, 1, 25, 1, 30, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0,
608  1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1, 1, 0,
609  2, 2, 2, 1, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0,
610  21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0,
611  32, 0, 33, 0, 34, 0, 2, 0,
612 
613  // L=34
614  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
615  5, 2, 6, 2, 7, 2, 8, 2, 12, 2, 16, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
616  9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 21, 1, 22, 1,
617  26, 1, 31, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
618  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
619  1, 0, 2, 2, 2, 1, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0,
620  21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0,
621  32, 0, 33, 0, 34, 0, 2, 0,
622 
623  // L=35
624  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
625  5, 2, 6, 2, 7, 2, 8, 2, 12, 2, 17, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
626  9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 22, 1, 23, 1,
627  27, 1, 32, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
628  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
629  1, 0, 2, 2, 2, 1, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0,
630  21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 32, 0,
631  33, 0, 34, 0, 35, 0, 2, 0,
632 
633  // L=36
634  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
635  5, 2, 6, 2, 7, 2, 8, 2, 13, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
636  9, 1, 10, 1, 11, 1, 13, 1, 14, 1, 15, 1, 16, 1, 18, 1, 19, 1, 23, 1, 24, 1, 28, 1,
637  33, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0,
638  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
639  1, 0, 2, 2, 2, 1, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
640  22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 33, 0,
641  34, 0, 35, 0, 36, 0, 2, 0,
642 
643  // L=37
644  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
645  5, 2, 6, 2, 8, 2, 13, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1,
646  10, 1, 11, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 23, 1, 28, 1, 33, 1,
647  3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0,
648  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
649  1, 0, 2, 2, 2, 1, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0,
650  23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 33, 0, 34, 0,
651  35, 0, 36, 0, 37, 0, 2, 0,
652 
653  // L=38
654  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
655  5, 2, 6, 2, 8, 2, 13, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1,
656  10, 1, 11, 1, 13, 1, 14, 1, 15, 1, 16, 1, 18, 1, 19, 1, 23, 1, 28, 1, 34, 1, 3, 0,
657  4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0,
658  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
659  1, 0, 2, 2, 2, 1, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0,
660  24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 34, 0, 35, 0,
661  36, 0, 37, 0, 38, 0, 2, 0,
662 
663  // L=39
664  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
665  5, 2, 6, 2, 8, 2, 13, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1,
666  10, 1, 11, 1, 13, 1, 14, 1, 15, 1, 16, 1, 18, 1, 19, 1, 23, 1, 24, 1, 29, 1, 35, 1,
667  3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0,
668  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
669  1, 0, 2, 2, 2, 1, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0,
670  23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 29, 0, 30, 0, 31, 0, 32, 0, 33, 0, 35, 0,
671  36, 0, 37, 0, 38, 0, 2, 0,
672 
673  // L=40
674  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
675  5, 2, 6, 2, 8, 2, 13, 2, 18, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1,
676  10, 1, 11, 1, 13, 1, 14, 1, 15, 1, 18, 1, 19, 1, 24, 1, 25, 1, 30, 1, 36, 1, 3, 0,
677  4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0,
678  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
679  1, 0, 2, 2, 2, 1, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0,
680  24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 0, 36, 0,
681  37, 0, 38, 0, 39, 0, 2, 0,
682 
683  // L=41
684  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
685  5, 2, 8, 2, 13, 2, 19, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1,
686  13, 1, 14, 1, 15, 1, 16, 1, 19, 1, 20, 1, 25, 1, 26, 1, 31, 1, 37, 1, 3, 0, 4, 0,
687  5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0,
688  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
689  1, 0, 2, 2, 2, 1, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0,
690  25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 31, 0, 32, 0, 33, 0, 34, 0, 35, 0, 37, 0,
691  38, 0, 39, 0, 40, 0, 2, 0,
692 
693  // L=42
694  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
695  5, 2, 8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1,
696  14, 1, 15, 1, 16, 1, 17, 1, 20, 1, 21, 1, 26, 1, 27, 1, 32, 1, 38, 1, 3, 0, 4, 0,
697  5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0,
698  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
699  1, 0, 2, 2, 2, 1, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0,
700  25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 32, 0, 33, 0, 34, 0, 35, 0, 38, 0,
701  39, 0, 40, 0, 41, 0, 2, 0,
702 
703  // L=43
704  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
705  5, 2, 8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1,
706  14, 1, 15, 1, 16, 1, 17, 1, 20, 1, 21, 1, 26, 1, 32, 1, 38, 1, 3, 0, 4, 0, 5, 0,
707  6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0,
708  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
709  1, 0, 2, 2, 2, 1, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0,
710  26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 32, 0, 33, 0, 34, 0, 35, 0, 38, 0, 39, 0,
711  40, 0, 41, 0, 42, 0, 2, 0,
712 
713  // L=44
714  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
715  5, 2, 8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 14, 1,
716  15, 1, 16, 1, 17, 1, 20, 1, 21, 1, 26, 1, 32, 1, 39, 1, 3, 0, 4, 0, 5, 0, 6, 0,
717  7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0,
718  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
719  1, 0, 2, 2, 2, 1, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0,
720  27, 0, 28, 0, 29, 0, 30, 0, 32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 39, 0, 40, 0,
721  41, 0, 42, 0, 43, 0, 2, 0,
722 
723  // L=45
724  2, 5, 2, 4, 2, 3, 3, 3, 3, 2, 4, 2,
725  5, 2, 8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 14, 1,
726  15, 1, 16, 1, 20, 1, 21, 1, 26, 1, 27, 1, 33, 1, 40, 1, 3, 0, 4, 0, 5, 0, 6, 0,
727  7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0,
728  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
729  1, 0, 2, 2, 2, 1, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0,
730  27, 0, 28, 0, 29, 0, 30, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 40, 0, 41, 0,
731  42, 0, 43, 0, 44, 0, 2, 0,
732 
733  // L=46
734  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
735  8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 14, 1, 15, 1,
736  16, 1, 20, 1, 21, 1, 27, 1, 28, 1, 34, 1, 41, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
737  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
738  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
739  1, 0, 2, 2, 2, 1, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
740  28, 0, 29, 0, 30, 0, 31, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 41, 0, 42, 0,
741  43, 0, 44, 0, 45, 0, 2, 0,
742 
743  // L=47
744  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
745  8, 2, 14, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 14, 1, 15, 1,
746  16, 1, 21, 1, 22, 1, 28, 1, 29, 1, 35, 1, 42, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
747  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
748  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
749  1, 0, 2, 2, 2, 1, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
750  28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 42, 0,
751  43, 0, 44, 0, 45, 0, 2, 0,
752 
753  // L=48
754  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
755  8, 2, 15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 15, 1, 16, 1,
756  17, 1, 22, 1, 23, 1, 29, 1, 30, 1, 36, 1, 43, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
757  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
758  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
759  1, 0, 2, 2, 2, 1, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
760  28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 33, 0, 36, 0, 37, 0, 38, 0, 39, 0, 43, 0,
761  44, 0, 45, 0, 46, 0, 2, 0,
762 
763  // L=49
764  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
765  8, 2, 15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 15, 1, 16, 1,
766  17, 1, 22, 1, 23, 1, 29, 1, 30, 1, 36, 1, 43, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
767  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
768  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
769  1, 0, 2, 2, 2, 1, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
770  29, 0, 30, 0, 31, 0, 32, 0, 33, 0, 36, 0, 37, 0, 38, 0, 39, 0, 43, 0, 44, 0,
771  45, 0, 46, 0, 47, 0, 2, 0,
772 
773  // L=50
774  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
775  8, 2, 15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 15, 1, 16, 1,
776  17, 1, 22, 1, 23, 1, 29, 1, 30, 1, 36, 1, 44, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
777  8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
778  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
779  1, 0, 2, 2, 2, 1, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
780  29, 0, 30, 0, 31, 0, 32, 0, 33, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 44, 0,
781  45, 0, 46, 0, 47, 0, 2, 0,
782 
783  // L=51
784  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 2,
785  8, 2, 15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 15, 1, 16, 1,
786  22, 1, 23, 1, 29, 1, 30, 1, 37, 1, 45, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
787  9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0,
788  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
789  1, 0, 2, 2, 2, 1, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 29, 0,
790  30, 0, 31, 0, 32, 0, 33, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 45, 0, 46, 0,
791  47, 0, 48, 0, 49, 0, 2, 0,
792 
793  // L=52
794  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 8, 2,
795  15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 15, 1, 16, 1, 17, 1, 22, 1,
796  23, 1, 30, 1, 31, 1, 38, 1, 46, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
797  10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
798  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
799  1, 0, 2, 2, 2, 1, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 30, 0,
800  31, 0, 32, 0, 33, 0, 34, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 46, 0, 47, 0,
801  48, 0, 49, 0, 50, 0, 2, 0,
802 
803  // L=53
804  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 8, 2,
805  15, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 15, 1, 16, 1, 17, 1, 23, 1,
806  24, 1, 31, 1, 32, 1, 39, 1, 47, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0,
807  10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
808  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
809  1, 0, 2, 2, 2, 1, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0,
810  31, 0, 32, 0, 33, 0, 34, 0, 35, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 47, 0,
811  48, 0, 49, 0, 50, 0, 2, 0,
812 
813  // L=54
814  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 8, 2,
815  16, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 16, 1, 17, 1, 18, 1,
816  24, 1, 25, 1, 32, 1, 33, 1, 40, 1, 48, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
817  9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
818  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
819  1, 0, 2, 2, 2, 1, 22, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0,
820  32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 48, 0,
821  49, 0, 50, 0, 51, 0, 2, 0,
822 
823  // L=55
824  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 8, 2,
825  16, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 16, 1, 17, 1, 18, 1,
826  24, 1, 25, 1, 32, 1, 33, 1, 40, 1, 48, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
827  9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
828  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
829  1, 0, 2, 2, 2, 1, 22, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0,
830  32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 40, 0, 41, 0, 42, 0, 43, 0, 48, 0, 49, 0,
831  50, 0, 51, 0, 52, 0, 2, 0,
832 
833  // L=56
834  2, 5, 2, 4, 2, 3, 3, 2, 4, 2, 8, 2,
835  16, 2, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 16, 1, 17, 1, 18, 1,
836  24, 1, 25, 1, 32, 1, 33, 1, 40, 1, 49, 1, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0,
837  9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0,
838  1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1, 2, 1, 1,
839  1, 0, 2, 2, 2, 1, 22, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0,
840  32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 49, 0,
841  50, 0, 51, 0, 52, 0, 2, 0
842 };
843 
844 /*
845  * log magnitude residual block lengths
846  */
847 const int ImbeJi[48][6] = {
848  {1, 1, 1, 2, 2, 2},
849  {1, 1, 2, 2, 2, 2},
850  {1, 2, 2, 2, 2, 2},
851  {2, 2, 2, 2, 2, 2},
852  {2, 2, 2, 2, 2, 3},
853  {2, 2, 2, 2, 3, 3},
854  {2, 2, 2, 3, 3, 3},
855  {2, 2, 3, 3, 3, 3},
856  {2, 3, 3, 3, 3, 3},
857  {3, 3, 3, 3, 3, 3},
858  {3, 3, 3, 3, 3, 4},
859  {3, 3, 3, 3, 4, 4},
860  {3, 3, 3, 4, 4, 4},
861  {3, 3, 4, 4, 4, 4},
862  {3, 4, 4, 4, 4, 4},
863  {4, 4, 4, 4, 4, 4},
864  {4, 4, 4, 4, 4, 5},
865  {4, 4, 4, 4, 5, 5},
866  {4, 4, 4, 5, 5, 5},
867  {4, 4, 5, 5, 5, 5},
868  {4, 5, 5, 5, 5, 5},
869  {5, 5, 5, 5, 5, 5},
870  {5, 5, 5, 5, 5, 6},
871  {5, 5, 5, 5, 6, 6},
872  {5, 5, 5, 6, 6, 6},
873  {5, 5, 6, 6, 6, 6},
874  {5, 6, 6, 6, 6, 6},
875  {6, 6, 6, 6, 6, 6},
876  {6, 6, 6, 6, 6, 7},
877  {6, 6, 6, 6, 7, 7},
878  {6, 6, 6, 7, 7, 7},
879  {6, 6, 7, 7, 7, 7},
880  {6, 7, 7, 7, 7, 7},
881  {7, 7, 7, 7, 7, 7},
882  {7, 7, 7, 7, 7, 8},
883  {7, 7, 7, 7, 8, 8},
884  {7, 7, 7, 8, 8, 8},
885  {7, 7, 8, 8, 8, 8},
886  {7, 8, 8, 8, 8, 8},
887  {8, 8, 8, 8, 8, 8},
888  {8, 8, 8, 8, 8, 9},
889  {8, 8, 8, 8, 9, 9},
890  {8, 8, 8, 9, 9, 9},
891  {8, 8, 9, 9, 9, 9},
892  {8, 9, 9, 9, 9, 9},
893  {9, 9, 9, 9, 9, 9},
894  {9, 9, 9, 9, 9, 10},
895  {9, 9, 9, 9, 10, 10}
896 };
897 
898 #endif
const float ba[48][5][2]
Definition: imbe7200x4400_const.h:60
const int bo[48][79][2]
Definition: imbe7200x4400_const.h:364
const int hoba[48][50]
Definition: imbe7200x4400_const.h:163
const float quantstep[11]
Definition: imbe7200x4400_const.h:24
const int ImbeJi[48][6]
Definition: imbe7200x4400_const.h:847
const float B2[64]
Definition: imbe7200x4400_const.h:38
const float standdev[9]
Definition: imbe7200x4400_const.h:31