xref: /btstack/3rd-party/lc3-google/src/tables.c (revision 9a19cd786042b1fc78813d984efdd045e84593df)
1*9a19cd78SMatthias Ringwald /******************************************************************************
2*9a19cd78SMatthias Ringwald  *
3*9a19cd78SMatthias Ringwald  *  Copyright 2021 Google, Inc.
4*9a19cd78SMatthias Ringwald  *
5*9a19cd78SMatthias Ringwald  *  Licensed under the Apache License, Version 2.0 (the "License");
6*9a19cd78SMatthias Ringwald  *  you may not use this file except in compliance with the License.
7*9a19cd78SMatthias Ringwald  *  You may obtain a copy of the License at:
8*9a19cd78SMatthias Ringwald  *
9*9a19cd78SMatthias Ringwald  *  http://www.apache.org/licenses/LICENSE-2.0
10*9a19cd78SMatthias Ringwald  *
11*9a19cd78SMatthias Ringwald  *  Unless required by applicable law or agreed to in writing, software
12*9a19cd78SMatthias Ringwald  *  distributed under the License is distributed on an "AS IS" BASIS,
13*9a19cd78SMatthias Ringwald  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*9a19cd78SMatthias Ringwald  *  See the License for the specific language governing permissions and
15*9a19cd78SMatthias Ringwald  *  limitations under the License.
16*9a19cd78SMatthias Ringwald  *
17*9a19cd78SMatthias Ringwald  ******************************************************************************/
18*9a19cd78SMatthias Ringwald 
19*9a19cd78SMatthias Ringwald #include "tables.h"
20*9a19cd78SMatthias Ringwald 
21*9a19cd78SMatthias Ringwald 
22*9a19cd78SMatthias Ringwald /**
23*9a19cd78SMatthias Ringwald  * Twiddles FFT 3 points
24*9a19cd78SMatthias Ringwald  *
25*9a19cd78SMatthias Ringwald  * T[0..N-1] =
26*9a19cd78SMatthias Ringwald  *   { cos(-2Pi *  i/N) + j sin(-2Pi *  i/N),
27*9a19cd78SMatthias Ringwald  *     cos(-2Pi * 2i/N) + j sin(-2Pi * 2i/N) } , N=15, 45
28*9a19cd78SMatthias Ringwald  */
29*9a19cd78SMatthias Ringwald 
30*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf3_twiddles fft_twiddles_15 = {
31*9a19cd78SMatthias Ringwald     .n3 = 15/3, .t = (const struct lc3_complex [][2]){
32*9a19cd78SMatthias Ringwald         { {  1.0000000e+0, -0.0000000e+0 }, {  1.0000000e+0, -0.0000000e+0 } },
33*9a19cd78SMatthias Ringwald         { {  9.1354546e-1, -4.0673664e-1 }, {  6.6913061e-1, -7.4314483e-1 } },
34*9a19cd78SMatthias Ringwald         { {  6.6913061e-1, -7.4314483e-1 }, { -1.0452846e-1, -9.9452190e-1 } },
35*9a19cd78SMatthias Ringwald         { {  3.0901699e-1, -9.5105652e-1 }, { -8.0901699e-1, -5.8778525e-1 } },
36*9a19cd78SMatthias Ringwald         { { -1.0452846e-1, -9.9452190e-1 }, { -9.7814760e-1,  2.0791169e-1 } },
37*9a19cd78SMatthias Ringwald         { { -5.0000000e-1, -8.6602540e-1 }, { -5.0000000e-1,  8.6602540e-1 } },
38*9a19cd78SMatthias Ringwald         { { -8.0901699e-1, -5.8778525e-1 }, {  3.0901699e-1,  9.5105652e-1 } },
39*9a19cd78SMatthias Ringwald         { { -9.7814760e-1, -2.0791169e-1 }, {  9.1354546e-1,  4.0673664e-1 } },
40*9a19cd78SMatthias Ringwald         { { -9.7814760e-1,  2.0791169e-1 }, {  9.1354546e-1, -4.0673664e-1 } },
41*9a19cd78SMatthias Ringwald         { { -8.0901699e-1,  5.8778525e-1 }, {  3.0901699e-1, -9.5105652e-1 } },
42*9a19cd78SMatthias Ringwald         { { -5.0000000e-1,  8.6602540e-1 }, { -5.0000000e-1, -8.6602540e-1 } },
43*9a19cd78SMatthias Ringwald         { { -1.0452846e-1,  9.9452190e-1 }, { -9.7814760e-1, -2.0791169e-1 } },
44*9a19cd78SMatthias Ringwald         { {  3.0901699e-1,  9.5105652e-1 }, { -8.0901699e-1,  5.8778525e-1 } },
45*9a19cd78SMatthias Ringwald         { {  6.6913061e-1,  7.4314483e-1 }, { -1.0452846e-1,  9.9452190e-1 } },
46*9a19cd78SMatthias Ringwald         { {  9.1354546e-1,  4.0673664e-1 }, {  6.6913061e-1,  7.4314483e-1 } },
47*9a19cd78SMatthias Ringwald     }
48*9a19cd78SMatthias Ringwald };
49*9a19cd78SMatthias Ringwald 
50*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf3_twiddles fft_twiddles_45 = {
51*9a19cd78SMatthias Ringwald     .n3 = 45/3, .t = (const struct lc3_complex [][2]){
52*9a19cd78SMatthias Ringwald         { {  1.0000000e+0, -0.0000000e+0 }, {  1.0000000e+0, -0.0000000e+0 } },
53*9a19cd78SMatthias Ringwald         { {  9.9026807e-1, -1.3917310e-1 }, {  9.6126170e-1, -2.7563736e-1 } },
54*9a19cd78SMatthias Ringwald         { {  9.6126170e-1, -2.7563736e-1 }, {  8.4804810e-1, -5.2991926e-1 } },
55*9a19cd78SMatthias Ringwald         { {  9.1354546e-1, -4.0673664e-1 }, {  6.6913061e-1, -7.4314483e-1 } },
56*9a19cd78SMatthias Ringwald         { {  8.4804810e-1, -5.2991926e-1 }, {  4.3837115e-1, -8.9879405e-1 } },
57*9a19cd78SMatthias Ringwald         { {  7.6604444e-1, -6.4278761e-1 }, {  1.7364818e-1, -9.8480775e-1 } },
58*9a19cd78SMatthias Ringwald         { {  6.6913061e-1, -7.4314483e-1 }, { -1.0452846e-1, -9.9452190e-1 } },
59*9a19cd78SMatthias Ringwald         { {  5.5919290e-1, -8.2903757e-1 }, { -3.7460659e-1, -9.2718385e-1 } },
60*9a19cd78SMatthias Ringwald         { {  4.3837115e-1, -8.9879405e-1 }, { -6.1566148e-1, -7.8801075e-1 } },
61*9a19cd78SMatthias Ringwald         { {  3.0901699e-1, -9.5105652e-1 }, { -8.0901699e-1, -5.8778525e-1 } },
62*9a19cd78SMatthias Ringwald         { {  1.7364818e-1, -9.8480775e-1 }, { -9.3969262e-1, -3.4202014e-1 } },
63*9a19cd78SMatthias Ringwald         { {  3.4899497e-2, -9.9939083e-1 }, { -9.9756405e-1, -6.9756474e-2 } },
64*9a19cd78SMatthias Ringwald         { { -1.0452846e-1, -9.9452190e-1 }, { -9.7814760e-1,  2.0791169e-1 } },
65*9a19cd78SMatthias Ringwald         { { -2.4192190e-1, -9.7029573e-1 }, { -8.8294759e-1,  4.6947156e-1 } },
66*9a19cd78SMatthias Ringwald         { { -3.7460659e-1, -9.2718385e-1 }, { -7.1933980e-1,  6.9465837e-1 } },
67*9a19cd78SMatthias Ringwald         { { -5.0000000e-1, -8.6602540e-1 }, { -5.0000000e-1,  8.6602540e-1 } },
68*9a19cd78SMatthias Ringwald         { { -6.1566148e-1, -7.8801075e-1 }, { -2.4192190e-1,  9.7029573e-1 } },
69*9a19cd78SMatthias Ringwald         { { -7.1933980e-1, -6.9465837e-1 }, {  3.4899497e-2,  9.9939083e-1 } },
70*9a19cd78SMatthias Ringwald         { { -8.0901699e-1, -5.8778525e-1 }, {  3.0901699e-1,  9.5105652e-1 } },
71*9a19cd78SMatthias Ringwald         { { -8.8294759e-1, -4.6947156e-1 }, {  5.5919290e-1,  8.2903757e-1 } },
72*9a19cd78SMatthias Ringwald         { { -9.3969262e-1, -3.4202014e-1 }, {  7.6604444e-1,  6.4278761e-1 } },
73*9a19cd78SMatthias Ringwald         { { -9.7814760e-1, -2.0791169e-1 }, {  9.1354546e-1,  4.0673664e-1 } },
74*9a19cd78SMatthias Ringwald         { { -9.9756405e-1, -6.9756474e-2 }, {  9.9026807e-1,  1.3917310e-1 } },
75*9a19cd78SMatthias Ringwald         { { -9.9756405e-1,  6.9756474e-2 }, {  9.9026807e-1, -1.3917310e-1 } },
76*9a19cd78SMatthias Ringwald         { { -9.7814760e-1,  2.0791169e-1 }, {  9.1354546e-1, -4.0673664e-1 } },
77*9a19cd78SMatthias Ringwald         { { -9.3969262e-1,  3.4202014e-1 }, {  7.6604444e-1, -6.4278761e-1 } },
78*9a19cd78SMatthias Ringwald         { { -8.8294759e-1,  4.6947156e-1 }, {  5.5919290e-1, -8.2903757e-1 } },
79*9a19cd78SMatthias Ringwald         { { -8.0901699e-1,  5.8778525e-1 }, {  3.0901699e-1, -9.5105652e-1 } },
80*9a19cd78SMatthias Ringwald         { { -7.1933980e-1,  6.9465837e-1 }, {  3.4899497e-2, -9.9939083e-1 } },
81*9a19cd78SMatthias Ringwald         { { -6.1566148e-1,  7.8801075e-1 }, { -2.4192190e-1, -9.7029573e-1 } },
82*9a19cd78SMatthias Ringwald         { { -5.0000000e-1,  8.6602540e-1 }, { -5.0000000e-1, -8.6602540e-1 } },
83*9a19cd78SMatthias Ringwald         { { -3.7460659e-1,  9.2718385e-1 }, { -7.1933980e-1, -6.9465837e-1 } },
84*9a19cd78SMatthias Ringwald         { { -2.4192190e-1,  9.7029573e-1 }, { -8.8294759e-1, -4.6947156e-1 } },
85*9a19cd78SMatthias Ringwald         { { -1.0452846e-1,  9.9452190e-1 }, { -9.7814760e-1, -2.0791169e-1 } },
86*9a19cd78SMatthias Ringwald         { {  3.4899497e-2,  9.9939083e-1 }, { -9.9756405e-1,  6.9756474e-2 } },
87*9a19cd78SMatthias Ringwald         { {  1.7364818e-1,  9.8480775e-1 }, { -9.3969262e-1,  3.4202014e-1 } },
88*9a19cd78SMatthias Ringwald         { {  3.0901699e-1,  9.5105652e-1 }, { -8.0901699e-1,  5.8778525e-1 } },
89*9a19cd78SMatthias Ringwald         { {  4.3837115e-1,  8.9879405e-1 }, { -6.1566148e-1,  7.8801075e-1 } },
90*9a19cd78SMatthias Ringwald         { {  5.5919290e-1,  8.2903757e-1 }, { -3.7460659e-1,  9.2718385e-1 } },
91*9a19cd78SMatthias Ringwald         { {  6.6913061e-1,  7.4314483e-1 }, { -1.0452846e-1,  9.9452190e-1 } },
92*9a19cd78SMatthias Ringwald         { {  7.6604444e-1,  6.4278761e-1 }, {  1.7364818e-1,  9.8480775e-1 } },
93*9a19cd78SMatthias Ringwald         { {  8.4804810e-1,  5.2991926e-1 }, {  4.3837115e-1,  8.9879405e-1 } },
94*9a19cd78SMatthias Ringwald         { {  9.1354546e-1,  4.0673664e-1 }, {  6.6913061e-1,  7.4314483e-1 } },
95*9a19cd78SMatthias Ringwald         { {  9.6126170e-1,  2.7563736e-1 }, {  8.4804810e-1,  5.2991926e-1 } },
96*9a19cd78SMatthias Ringwald         { {  9.9026807e-1,  1.3917310e-1 }, {  9.6126170e-1,  2.7563736e-1 } },
97*9a19cd78SMatthias Ringwald     }
98*9a19cd78SMatthias Ringwald };
99*9a19cd78SMatthias Ringwald 
100*9a19cd78SMatthias Ringwald const struct lc3_fft_bf3_twiddles *lc3_fft_twiddles_bf3[] =
101*9a19cd78SMatthias Ringwald     { &fft_twiddles_15, &fft_twiddles_45 };
102*9a19cd78SMatthias Ringwald 
103*9a19cd78SMatthias Ringwald 
104*9a19cd78SMatthias Ringwald /**
105*9a19cd78SMatthias Ringwald  * Twiddles FFT 2 points
106*9a19cd78SMatthias Ringwald  *
107*9a19cd78SMatthias Ringwald  * T[0..N/2-1] =
108*9a19cd78SMatthias Ringwald  *   cos(-2Pi * i/N) + j sin(-2Pi * i/N) , N=10, 20, ...
109*9a19cd78SMatthias Ringwald  */
110*9a19cd78SMatthias Ringwald 
111*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_10 = {
112*9a19cd78SMatthias Ringwald     .n2 = 10/2, .t = (const struct lc3_complex []){
113*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  8.0901699e-01, -5.8778525e-01 },
114*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, { -3.0901699e-01, -9.5105652e-01 },
115*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 },
116*9a19cd78SMatthias Ringwald     }
117*9a19cd78SMatthias Ringwald };
118*9a19cd78SMatthias Ringwald 
119*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_20 = {
120*9a19cd78SMatthias Ringwald     .n2 = 20/2, .t = (const struct lc3_complex []){
121*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.5105652e-01, -3.0901699e-01 },
122*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  5.8778525e-01, -8.0901699e-01 },
123*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  6.1232340e-17, -1.0000000e+00 },
124*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -5.8778525e-01, -8.0901699e-01 },
125*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -9.5105652e-01, -3.0901699e-01 },
126*9a19cd78SMatthias Ringwald     }
127*9a19cd78SMatthias Ringwald };
128*9a19cd78SMatthias Ringwald 
129*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_30 = {
130*9a19cd78SMatthias Ringwald     .n2 = 30/2, .t = (const struct lc3_complex []){
131*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.7814760e-01, -2.0791169e-01 },
132*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  8.0901699e-01, -5.8778525e-01 },
133*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  5.0000000e-01, -8.6602540e-01 },
134*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  1.0452846e-01, -9.9452190e-01 },
135*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -3.0901699e-01, -9.5105652e-01 },
136*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -6.6913061e-01, -7.4314483e-01 },
137*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -9.1354546e-01, -4.0673664e-01 },
138*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 },
139*9a19cd78SMatthias Ringwald     }
140*9a19cd78SMatthias Ringwald };
141*9a19cd78SMatthias Ringwald 
142*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_40 = {
143*9a19cd78SMatthias Ringwald     .n2 = 40/2, .t = (const struct lc3_complex []){
144*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.8768834e-01, -1.5643447e-01 },
145*9a19cd78SMatthias Ringwald         {  9.5105652e-01, -3.0901699e-01 }, {  8.9100652e-01, -4.5399050e-01 },
146*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.0710678e-01, -7.0710678e-01 },
147*9a19cd78SMatthias Ringwald         {  5.8778525e-01, -8.0901699e-01 }, {  4.5399050e-01, -8.9100652e-01 },
148*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  1.5643447e-01, -9.8768834e-01 },
149*9a19cd78SMatthias Ringwald         {  6.1232340e-17, -1.0000000e+00 }, { -1.5643447e-01, -9.8768834e-01 },
150*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -4.5399050e-01, -8.9100652e-01 },
151*9a19cd78SMatthias Ringwald         { -5.8778525e-01, -8.0901699e-01 }, { -7.0710678e-01, -7.0710678e-01 },
152*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.9100652e-01, -4.5399050e-01 },
153*9a19cd78SMatthias Ringwald         { -9.5105652e-01, -3.0901699e-01 }, { -9.8768834e-01, -1.5643447e-01 },
154*9a19cd78SMatthias Ringwald     }
155*9a19cd78SMatthias Ringwald };
156*9a19cd78SMatthias Ringwald 
157*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_60 = {
158*9a19cd78SMatthias Ringwald     .n2 = 60/2, .t = (const struct lc3_complex []){
159*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9452190e-01, -1.0452846e-01 },
160*9a19cd78SMatthias Ringwald         {  9.7814760e-01, -2.0791169e-01 }, {  9.5105652e-01, -3.0901699e-01 },
161*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  8.6602540e-01, -5.0000000e-01 },
162*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.4314483e-01, -6.6913061e-01 },
163*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  5.8778525e-01, -8.0901699e-01 },
164*9a19cd78SMatthias Ringwald         {  5.0000000e-01, -8.6602540e-01 }, {  4.0673664e-01, -9.1354546e-01 },
165*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.0791169e-01, -9.7814760e-01 },
166*9a19cd78SMatthias Ringwald         {  1.0452846e-01, -9.9452190e-01 }, {  2.8327694e-16, -1.0000000e+00 },
167*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -2.0791169e-01, -9.7814760e-01 },
168*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -4.0673664e-01, -9.1354546e-01 },
169*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -5.8778525e-01, -8.0901699e-01 },
170*9a19cd78SMatthias Ringwald         { -6.6913061e-01, -7.4314483e-01 }, { -7.4314483e-01, -6.6913061e-01 },
171*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.6602540e-01, -5.0000000e-01 },
172*9a19cd78SMatthias Ringwald         { -9.1354546e-01, -4.0673664e-01 }, { -9.5105652e-01, -3.0901699e-01 },
173*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 }, { -9.9452190e-01, -1.0452846e-01 },
174*9a19cd78SMatthias Ringwald     }
175*9a19cd78SMatthias Ringwald };
176*9a19cd78SMatthias Ringwald 
177*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_80 = {
178*9a19cd78SMatthias Ringwald     .n2 = 80/2, .t = (const struct lc3_complex []){
179*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9691733e-01, -7.8459096e-02 },
180*9a19cd78SMatthias Ringwald         {  9.8768834e-01, -1.5643447e-01 }, {  9.7236992e-01, -2.3344536e-01 },
181*9a19cd78SMatthias Ringwald         {  9.5105652e-01, -3.0901699e-01 }, {  9.2387953e-01, -3.8268343e-01 },
182*9a19cd78SMatthias Ringwald         {  8.9100652e-01, -4.5399050e-01 }, {  8.5264016e-01, -5.2249856e-01 },
183*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.6040597e-01, -6.4944805e-01 },
184*9a19cd78SMatthias Ringwald         {  7.0710678e-01, -7.0710678e-01 }, {  6.4944805e-01, -7.6040597e-01 },
185*9a19cd78SMatthias Ringwald         {  5.8778525e-01, -8.0901699e-01 }, {  5.2249856e-01, -8.5264016e-01 },
186*9a19cd78SMatthias Ringwald         {  4.5399050e-01, -8.9100652e-01 }, {  3.8268343e-01, -9.2387953e-01 },
187*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.3344536e-01, -9.7236992e-01 },
188*9a19cd78SMatthias Ringwald         {  1.5643447e-01, -9.8768834e-01 }, {  7.8459096e-02, -9.9691733e-01 },
189*9a19cd78SMatthias Ringwald         {  6.1232340e-17, -1.0000000e+00 }, { -7.8459096e-02, -9.9691733e-01 },
190*9a19cd78SMatthias Ringwald         { -1.5643447e-01, -9.8768834e-01 }, { -2.3344536e-01, -9.7236992e-01 },
191*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -3.8268343e-01, -9.2387953e-01 },
192*9a19cd78SMatthias Ringwald         { -4.5399050e-01, -8.9100652e-01 }, { -5.2249856e-01, -8.5264016e-01 },
193*9a19cd78SMatthias Ringwald         { -5.8778525e-01, -8.0901699e-01 }, { -6.4944805e-01, -7.6040597e-01 },
194*9a19cd78SMatthias Ringwald         { -7.0710678e-01, -7.0710678e-01 }, { -7.6040597e-01, -6.4944805e-01 },
195*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.5264016e-01, -5.2249856e-01 },
196*9a19cd78SMatthias Ringwald         { -8.9100652e-01, -4.5399050e-01 }, { -9.2387953e-01, -3.8268343e-01 },
197*9a19cd78SMatthias Ringwald         { -9.5105652e-01, -3.0901699e-01 }, { -9.7236992e-01, -2.3344536e-01 },
198*9a19cd78SMatthias Ringwald         { -9.8768834e-01, -1.5643447e-01 }, { -9.9691733e-01, -7.8459096e-02 },
199*9a19cd78SMatthias Ringwald     }
200*9a19cd78SMatthias Ringwald };
201*9a19cd78SMatthias Ringwald 
202*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_90 = {
203*9a19cd78SMatthias Ringwald     .n2 = 90/2, .t = (const struct lc3_complex []){
204*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9756405e-01, -6.9756474e-02 },
205*9a19cd78SMatthias Ringwald         {  9.9026807e-01, -1.3917310e-01 }, {  9.7814760e-01, -2.0791169e-01 },
206*9a19cd78SMatthias Ringwald         {  9.6126170e-01, -2.7563736e-01 }, {  9.3969262e-01, -3.4202014e-01 },
207*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  8.8294759e-01, -4.6947156e-01 },
208*9a19cd78SMatthias Ringwald         {  8.4804810e-01, -5.2991926e-01 }, {  8.0901699e-01, -5.8778525e-01 },
209*9a19cd78SMatthias Ringwald         {  7.6604444e-01, -6.4278761e-01 }, {  7.1933980e-01, -6.9465837e-01 },
210*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  6.1566148e-01, -7.8801075e-01 },
211*9a19cd78SMatthias Ringwald         {  5.5919290e-01, -8.2903757e-01 }, {  5.0000000e-01, -8.6602540e-01 },
212*9a19cd78SMatthias Ringwald         {  4.3837115e-01, -8.9879405e-01 }, {  3.7460659e-01, -9.2718385e-01 },
213*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.4192190e-01, -9.7029573e-01 },
214*9a19cd78SMatthias Ringwald         {  1.7364818e-01, -9.8480775e-01 }, {  1.0452846e-01, -9.9452190e-01 },
215*9a19cd78SMatthias Ringwald         {  3.4899497e-02, -9.9939083e-01 }, { -3.4899497e-02, -9.9939083e-01 },
216*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -1.7364818e-01, -9.8480775e-01 },
217*9a19cd78SMatthias Ringwald         { -2.4192190e-01, -9.7029573e-01 }, { -3.0901699e-01, -9.5105652e-01 },
218*9a19cd78SMatthias Ringwald         { -3.7460659e-01, -9.2718385e-01 }, { -4.3837115e-01, -8.9879405e-01 },
219*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -5.5919290e-01, -8.2903757e-01 },
220*9a19cd78SMatthias Ringwald         { -6.1566148e-01, -7.8801075e-01 }, { -6.6913061e-01, -7.4314483e-01 },
221*9a19cd78SMatthias Ringwald         { -7.1933980e-01, -6.9465837e-01 }, { -7.6604444e-01, -6.4278761e-01 },
222*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.4804810e-01, -5.2991926e-01 },
223*9a19cd78SMatthias Ringwald         { -8.8294759e-01, -4.6947156e-01 }, { -9.1354546e-01, -4.0673664e-01 },
224*9a19cd78SMatthias Ringwald         { -9.3969262e-01, -3.4202014e-01 }, { -9.6126170e-01, -2.7563736e-01 },
225*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 }, { -9.9026807e-01, -1.3917310e-01 },
226*9a19cd78SMatthias Ringwald         { -9.9756405e-01, -6.9756474e-02 },
227*9a19cd78SMatthias Ringwald     }
228*9a19cd78SMatthias Ringwald };
229*9a19cd78SMatthias Ringwald 
230*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_120 = {
231*9a19cd78SMatthias Ringwald     .n2 = 120/2, .t = (const struct lc3_complex []){
232*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9862953e-01, -5.2335956e-02 },
233*9a19cd78SMatthias Ringwald         {  9.9452190e-01, -1.0452846e-01 }, {  9.8768834e-01, -1.5643447e-01 },
234*9a19cd78SMatthias Ringwald         {  9.7814760e-01, -2.0791169e-01 }, {  9.6592583e-01, -2.5881905e-01 },
235*9a19cd78SMatthias Ringwald         {  9.5105652e-01, -3.0901699e-01 }, {  9.3358043e-01, -3.5836795e-01 },
236*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  8.9100652e-01, -4.5399050e-01 },
237*9a19cd78SMatthias Ringwald         {  8.6602540e-01, -5.0000000e-01 }, {  8.3867057e-01, -5.4463904e-01 },
238*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.7714596e-01, -6.2932039e-01 },
239*9a19cd78SMatthias Ringwald         {  7.4314483e-01, -6.6913061e-01 }, {  7.0710678e-01, -7.0710678e-01 },
240*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  6.2932039e-01, -7.7714596e-01 },
241*9a19cd78SMatthias Ringwald         {  5.8778525e-01, -8.0901699e-01 }, {  5.4463904e-01, -8.3867057e-01 },
242*9a19cd78SMatthias Ringwald         {  5.0000000e-01, -8.6602540e-01 }, {  4.5399050e-01, -8.9100652e-01 },
243*9a19cd78SMatthias Ringwald         {  4.0673664e-01, -9.1354546e-01 }, {  3.5836795e-01, -9.3358043e-01 },
244*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.5881905e-01, -9.6592583e-01 },
245*9a19cd78SMatthias Ringwald         {  2.0791169e-01, -9.7814760e-01 }, {  1.5643447e-01, -9.8768834e-01 },
246*9a19cd78SMatthias Ringwald         {  1.0452846e-01, -9.9452190e-01 }, {  5.2335956e-02, -9.9862953e-01 },
247*9a19cd78SMatthias Ringwald         {  2.8327694e-16, -1.0000000e+00 }, { -5.2335956e-02, -9.9862953e-01 },
248*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -1.5643447e-01, -9.8768834e-01 },
249*9a19cd78SMatthias Ringwald         { -2.0791169e-01, -9.7814760e-01 }, { -2.5881905e-01, -9.6592583e-01 },
250*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -3.5836795e-01, -9.3358043e-01 },
251*9a19cd78SMatthias Ringwald         { -4.0673664e-01, -9.1354546e-01 }, { -4.5399050e-01, -8.9100652e-01 },
252*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -5.4463904e-01, -8.3867057e-01 },
253*9a19cd78SMatthias Ringwald         { -5.8778525e-01, -8.0901699e-01 }, { -6.2932039e-01, -7.7714596e-01 },
254*9a19cd78SMatthias Ringwald         { -6.6913061e-01, -7.4314483e-01 }, { -7.0710678e-01, -7.0710678e-01 },
255*9a19cd78SMatthias Ringwald         { -7.4314483e-01, -6.6913061e-01 }, { -7.7714596e-01, -6.2932039e-01 },
256*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.3867057e-01, -5.4463904e-01 },
257*9a19cd78SMatthias Ringwald         { -8.6602540e-01, -5.0000000e-01 }, { -8.9100652e-01, -4.5399050e-01 },
258*9a19cd78SMatthias Ringwald         { -9.1354546e-01, -4.0673664e-01 }, { -9.3358043e-01, -3.5836795e-01 },
259*9a19cd78SMatthias Ringwald         { -9.5105652e-01, -3.0901699e-01 }, { -9.6592583e-01, -2.5881905e-01 },
260*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 }, { -9.8768834e-01, -1.5643447e-01 },
261*9a19cd78SMatthias Ringwald         { -9.9452190e-01, -1.0452846e-01 }, { -9.9862953e-01, -5.2335956e-02 },
262*9a19cd78SMatthias Ringwald     }
263*9a19cd78SMatthias Ringwald };
264*9a19cd78SMatthias Ringwald 
265*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_160 = {
266*9a19cd78SMatthias Ringwald     .n2 = 160/2, .t = (const struct lc3_complex []){
267*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9922904e-01, -3.9259816e-02 },
268*9a19cd78SMatthias Ringwald         {  9.9691733e-01, -7.8459096e-02 }, {  9.9306846e-01, -1.1753740e-01 },
269*9a19cd78SMatthias Ringwald         {  9.8768834e-01, -1.5643447e-01 }, {  9.8078528e-01, -1.9509032e-01 },
270*9a19cd78SMatthias Ringwald         {  9.7236992e-01, -2.3344536e-01 }, {  9.6245524e-01, -2.7144045e-01 },
271*9a19cd78SMatthias Ringwald         {  9.5105652e-01, -3.0901699e-01 }, {  9.3819134e-01, -3.4611706e-01 },
272*9a19cd78SMatthias Ringwald         {  9.2387953e-01, -3.8268343e-01 }, {  9.0814317e-01, -4.1865974e-01 },
273*9a19cd78SMatthias Ringwald         {  8.9100652e-01, -4.5399050e-01 }, {  8.7249601e-01, -4.8862124e-01 },
274*9a19cd78SMatthias Ringwald         {  8.5264016e-01, -5.2249856e-01 }, {  8.3146961e-01, -5.5557023e-01 },
275*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.8531693e-01, -6.1909395e-01 },
276*9a19cd78SMatthias Ringwald         {  7.6040597e-01, -6.4944805e-01 }, {  7.3432251e-01, -6.7880075e-01 },
277*9a19cd78SMatthias Ringwald         {  7.0710678e-01, -7.0710678e-01 }, {  6.7880075e-01, -7.3432251e-01 },
278*9a19cd78SMatthias Ringwald         {  6.4944805e-01, -7.6040597e-01 }, {  6.1909395e-01, -7.8531693e-01 },
279*9a19cd78SMatthias Ringwald         {  5.8778525e-01, -8.0901699e-01 }, {  5.5557023e-01, -8.3146961e-01 },
280*9a19cd78SMatthias Ringwald         {  5.2249856e-01, -8.5264016e-01 }, {  4.8862124e-01, -8.7249601e-01 },
281*9a19cd78SMatthias Ringwald         {  4.5399050e-01, -8.9100652e-01 }, {  4.1865974e-01, -9.0814317e-01 },
282*9a19cd78SMatthias Ringwald         {  3.8268343e-01, -9.2387953e-01 }, {  3.4611706e-01, -9.3819134e-01 },
283*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.7144045e-01, -9.6245524e-01 },
284*9a19cd78SMatthias Ringwald         {  2.3344536e-01, -9.7236992e-01 }, {  1.9509032e-01, -9.8078528e-01 },
285*9a19cd78SMatthias Ringwald         {  1.5643447e-01, -9.8768834e-01 }, {  1.1753740e-01, -9.9306846e-01 },
286*9a19cd78SMatthias Ringwald         {  7.8459096e-02, -9.9691733e-01 }, {  3.9259816e-02, -9.9922904e-01 },
287*9a19cd78SMatthias Ringwald         {  6.1232340e-17, -1.0000000e+00 }, { -3.9259816e-02, -9.9922904e-01 },
288*9a19cd78SMatthias Ringwald         { -7.8459096e-02, -9.9691733e-01 }, { -1.1753740e-01, -9.9306846e-01 },
289*9a19cd78SMatthias Ringwald         { -1.5643447e-01, -9.8768834e-01 }, { -1.9509032e-01, -9.8078528e-01 },
290*9a19cd78SMatthias Ringwald         { -2.3344536e-01, -9.7236992e-01 }, { -2.7144045e-01, -9.6245524e-01 },
291*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -3.4611706e-01, -9.3819134e-01 },
292*9a19cd78SMatthias Ringwald         { -3.8268343e-01, -9.2387953e-01 }, { -4.1865974e-01, -9.0814317e-01 },
293*9a19cd78SMatthias Ringwald         { -4.5399050e-01, -8.9100652e-01 }, { -4.8862124e-01, -8.7249601e-01 },
294*9a19cd78SMatthias Ringwald         { -5.2249856e-01, -8.5264016e-01 }, { -5.5557023e-01, -8.3146961e-01 },
295*9a19cd78SMatthias Ringwald         { -5.8778525e-01, -8.0901699e-01 }, { -6.1909395e-01, -7.8531693e-01 },
296*9a19cd78SMatthias Ringwald         { -6.4944805e-01, -7.6040597e-01 }, { -6.7880075e-01, -7.3432251e-01 },
297*9a19cd78SMatthias Ringwald         { -7.0710678e-01, -7.0710678e-01 }, { -7.3432251e-01, -6.7880075e-01 },
298*9a19cd78SMatthias Ringwald         { -7.6040597e-01, -6.4944805e-01 }, { -7.8531693e-01, -6.1909395e-01 },
299*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.3146961e-01, -5.5557023e-01 },
300*9a19cd78SMatthias Ringwald         { -8.5264016e-01, -5.2249856e-01 }, { -8.7249601e-01, -4.8862124e-01 },
301*9a19cd78SMatthias Ringwald         { -8.9100652e-01, -4.5399050e-01 }, { -9.0814317e-01, -4.1865974e-01 },
302*9a19cd78SMatthias Ringwald         { -9.2387953e-01, -3.8268343e-01 }, { -9.3819134e-01, -3.4611706e-01 },
303*9a19cd78SMatthias Ringwald         { -9.5105652e-01, -3.0901699e-01 }, { -9.6245524e-01, -2.7144045e-01 },
304*9a19cd78SMatthias Ringwald         { -9.7236992e-01, -2.3344536e-01 }, { -9.8078528e-01, -1.9509032e-01 },
305*9a19cd78SMatthias Ringwald         { -9.8768834e-01, -1.5643447e-01 }, { -9.9306846e-01, -1.1753740e-01 },
306*9a19cd78SMatthias Ringwald         { -9.9691733e-01, -7.8459096e-02 }, { -9.9922904e-01, -3.9259816e-02 },
307*9a19cd78SMatthias Ringwald     }
308*9a19cd78SMatthias Ringwald };
309*9a19cd78SMatthias Ringwald 
310*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_180 = {
311*9a19cd78SMatthias Ringwald     .n2 = 180/2, .t = (const struct lc3_complex []){
312*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9939083e-01, -3.4899497e-02 },
313*9a19cd78SMatthias Ringwald         {  9.9756405e-01, -6.9756474e-02 }, {  9.9452190e-01, -1.0452846e-01 },
314*9a19cd78SMatthias Ringwald         {  9.9026807e-01, -1.3917310e-01 }, {  9.8480775e-01, -1.7364818e-01 },
315*9a19cd78SMatthias Ringwald         {  9.7814760e-01, -2.0791169e-01 }, {  9.7029573e-01, -2.4192190e-01 },
316*9a19cd78SMatthias Ringwald         {  9.6126170e-01, -2.7563736e-01 }, {  9.5105652e-01, -3.0901699e-01 },
317*9a19cd78SMatthias Ringwald         {  9.3969262e-01, -3.4202014e-01 }, {  9.2718385e-01, -3.7460659e-01 },
318*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  8.9879405e-01, -4.3837115e-01 },
319*9a19cd78SMatthias Ringwald         {  8.8294759e-01, -4.6947156e-01 }, {  8.6602540e-01, -5.0000000e-01 },
320*9a19cd78SMatthias Ringwald         {  8.4804810e-01, -5.2991926e-01 }, {  8.2903757e-01, -5.5919290e-01 },
321*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.8801075e-01, -6.1566148e-01 },
322*9a19cd78SMatthias Ringwald         {  7.6604444e-01, -6.4278761e-01 }, {  7.4314483e-01, -6.6913061e-01 },
323*9a19cd78SMatthias Ringwald         {  7.1933980e-01, -6.9465837e-01 }, {  6.9465837e-01, -7.1933980e-01 },
324*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  6.4278761e-01, -7.6604444e-01 },
325*9a19cd78SMatthias Ringwald         {  6.1566148e-01, -7.8801075e-01 }, {  5.8778525e-01, -8.0901699e-01 },
326*9a19cd78SMatthias Ringwald         {  5.5919290e-01, -8.2903757e-01 }, {  5.2991926e-01, -8.4804810e-01 },
327*9a19cd78SMatthias Ringwald         {  5.0000000e-01, -8.6602540e-01 }, {  4.6947156e-01, -8.8294759e-01 },
328*9a19cd78SMatthias Ringwald         {  4.3837115e-01, -8.9879405e-01 }, {  4.0673664e-01, -9.1354546e-01 },
329*9a19cd78SMatthias Ringwald         {  3.7460659e-01, -9.2718385e-01 }, {  3.4202014e-01, -9.3969262e-01 },
330*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.7563736e-01, -9.6126170e-01 },
331*9a19cd78SMatthias Ringwald         {  2.4192190e-01, -9.7029573e-01 }, {  2.0791169e-01, -9.7814760e-01 },
332*9a19cd78SMatthias Ringwald         {  1.7364818e-01, -9.8480775e-01 }, {  1.3917310e-01, -9.9026807e-01 },
333*9a19cd78SMatthias Ringwald         {  1.0452846e-01, -9.9452190e-01 }, {  6.9756474e-02, -9.9756405e-01 },
334*9a19cd78SMatthias Ringwald         {  3.4899497e-02, -9.9939083e-01 }, {  6.1232340e-17, -1.0000000e+00 },
335*9a19cd78SMatthias Ringwald         { -3.4899497e-02, -9.9939083e-01 }, { -6.9756474e-02, -9.9756405e-01 },
336*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -1.3917310e-01, -9.9026807e-01 },
337*9a19cd78SMatthias Ringwald         { -1.7364818e-01, -9.8480775e-01 }, { -2.0791169e-01, -9.7814760e-01 },
338*9a19cd78SMatthias Ringwald         { -2.4192190e-01, -9.7029573e-01 }, { -2.7563736e-01, -9.6126170e-01 },
339*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -3.4202014e-01, -9.3969262e-01 },
340*9a19cd78SMatthias Ringwald         { -3.7460659e-01, -9.2718385e-01 }, { -4.0673664e-01, -9.1354546e-01 },
341*9a19cd78SMatthias Ringwald         { -4.3837115e-01, -8.9879405e-01 }, { -4.6947156e-01, -8.8294759e-01 },
342*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -5.2991926e-01, -8.4804810e-01 },
343*9a19cd78SMatthias Ringwald         { -5.5919290e-01, -8.2903757e-01 }, { -5.8778525e-01, -8.0901699e-01 },
344*9a19cd78SMatthias Ringwald         { -6.1566148e-01, -7.8801075e-01 }, { -6.4278761e-01, -7.6604444e-01 },
345*9a19cd78SMatthias Ringwald         { -6.6913061e-01, -7.4314483e-01 }, { -6.9465837e-01, -7.1933980e-01 },
346*9a19cd78SMatthias Ringwald         { -7.1933980e-01, -6.9465837e-01 }, { -7.4314483e-01, -6.6913061e-01 },
347*9a19cd78SMatthias Ringwald         { -7.6604444e-01, -6.4278761e-01 }, { -7.8801075e-01, -6.1566148e-01 },
348*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.2903757e-01, -5.5919290e-01 },
349*9a19cd78SMatthias Ringwald         { -8.4804810e-01, -5.2991926e-01 }, { -8.6602540e-01, -5.0000000e-01 },
350*9a19cd78SMatthias Ringwald         { -8.8294759e-01, -4.6947156e-01 }, { -8.9879405e-01, -4.3837115e-01 },
351*9a19cd78SMatthias Ringwald         { -9.1354546e-01, -4.0673664e-01 }, { -9.2718385e-01, -3.7460659e-01 },
352*9a19cd78SMatthias Ringwald         { -9.3969262e-01, -3.4202014e-01 }, { -9.5105652e-01, -3.0901699e-01 },
353*9a19cd78SMatthias Ringwald         { -9.6126170e-01, -2.7563736e-01 }, { -9.7029573e-01, -2.4192190e-01 },
354*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 }, { -9.8480775e-01, -1.7364818e-01 },
355*9a19cd78SMatthias Ringwald         { -9.9026807e-01, -1.3917310e-01 }, { -9.9452190e-01, -1.0452846e-01 },
356*9a19cd78SMatthias Ringwald         { -9.9756405e-01, -6.9756474e-02 }, { -9.9939083e-01, -3.4899497e-02 },
357*9a19cd78SMatthias Ringwald     }
358*9a19cd78SMatthias Ringwald };
359*9a19cd78SMatthias Ringwald 
360*9a19cd78SMatthias Ringwald static const struct lc3_fft_bf2_twiddles fft_twiddles_240 = {
361*9a19cd78SMatthias Ringwald     .n2 = 240/2, .t = (const struct lc3_complex []){
362*9a19cd78SMatthias Ringwald         {  1.0000000e+00, -0.0000000e+00 }, {  9.9965732e-01, -2.6176948e-02 },
363*9a19cd78SMatthias Ringwald         {  9.9862953e-01, -5.2335956e-02 }, {  9.9691733e-01, -7.8459096e-02 },
364*9a19cd78SMatthias Ringwald         {  9.9452190e-01, -1.0452846e-01 }, {  9.9144486e-01, -1.3052619e-01 },
365*9a19cd78SMatthias Ringwald         {  9.8768834e-01, -1.5643447e-01 }, {  9.8325491e-01, -1.8223553e-01 },
366*9a19cd78SMatthias Ringwald         {  9.7814760e-01, -2.0791169e-01 }, {  9.7236992e-01, -2.3344536e-01 },
367*9a19cd78SMatthias Ringwald         {  9.6592583e-01, -2.5881905e-01 }, {  9.5881973e-01, -2.8401534e-01 },
368*9a19cd78SMatthias Ringwald         {  9.5105652e-01, -3.0901699e-01 }, {  9.4264149e-01, -3.3380686e-01 },
369*9a19cd78SMatthias Ringwald         {  9.3358043e-01, -3.5836795e-01 }, {  9.2387953e-01, -3.8268343e-01 },
370*9a19cd78SMatthias Ringwald         {  9.1354546e-01, -4.0673664e-01 }, {  9.0258528e-01, -4.3051110e-01 },
371*9a19cd78SMatthias Ringwald         {  8.9100652e-01, -4.5399050e-01 }, {  8.7881711e-01, -4.7715876e-01 },
372*9a19cd78SMatthias Ringwald         {  8.6602540e-01, -5.0000000e-01 }, {  8.5264016e-01, -5.2249856e-01 },
373*9a19cd78SMatthias Ringwald         {  8.3867057e-01, -5.4463904e-01 }, {  8.2412619e-01, -5.6640624e-01 },
374*9a19cd78SMatthias Ringwald         {  8.0901699e-01, -5.8778525e-01 }, {  7.9335334e-01, -6.0876143e-01 },
375*9a19cd78SMatthias Ringwald         {  7.7714596e-01, -6.2932039e-01 }, {  7.6040597e-01, -6.4944805e-01 },
376*9a19cd78SMatthias Ringwald         {  7.4314483e-01, -6.6913061e-01 }, {  7.2537437e-01, -6.8835458e-01 },
377*9a19cd78SMatthias Ringwald         {  7.0710678e-01, -7.0710678e-01 }, {  6.8835458e-01, -7.2537437e-01 },
378*9a19cd78SMatthias Ringwald         {  6.6913061e-01, -7.4314483e-01 }, {  6.4944805e-01, -7.6040597e-01 },
379*9a19cd78SMatthias Ringwald         {  6.2932039e-01, -7.7714596e-01 }, {  6.0876143e-01, -7.9335334e-01 },
380*9a19cd78SMatthias Ringwald         {  5.8778525e-01, -8.0901699e-01 }, {  5.6640624e-01, -8.2412619e-01 },
381*9a19cd78SMatthias Ringwald         {  5.4463904e-01, -8.3867057e-01 }, {  5.2249856e-01, -8.5264016e-01 },
382*9a19cd78SMatthias Ringwald         {  5.0000000e-01, -8.6602540e-01 }, {  4.7715876e-01, -8.7881711e-01 },
383*9a19cd78SMatthias Ringwald         {  4.5399050e-01, -8.9100652e-01 }, {  4.3051110e-01, -9.0258528e-01 },
384*9a19cd78SMatthias Ringwald         {  4.0673664e-01, -9.1354546e-01 }, {  3.8268343e-01, -9.2387953e-01 },
385*9a19cd78SMatthias Ringwald         {  3.5836795e-01, -9.3358043e-01 }, {  3.3380686e-01, -9.4264149e-01 },
386*9a19cd78SMatthias Ringwald         {  3.0901699e-01, -9.5105652e-01 }, {  2.8401534e-01, -9.5881973e-01 },
387*9a19cd78SMatthias Ringwald         {  2.5881905e-01, -9.6592583e-01 }, {  2.3344536e-01, -9.7236992e-01 },
388*9a19cd78SMatthias Ringwald         {  2.0791169e-01, -9.7814760e-01 }, {  1.8223553e-01, -9.8325491e-01 },
389*9a19cd78SMatthias Ringwald         {  1.5643447e-01, -9.8768834e-01 }, {  1.3052619e-01, -9.9144486e-01 },
390*9a19cd78SMatthias Ringwald         {  1.0452846e-01, -9.9452190e-01 }, {  7.8459096e-02, -9.9691733e-01 },
391*9a19cd78SMatthias Ringwald         {  5.2335956e-02, -9.9862953e-01 }, {  2.6176948e-02, -9.9965732e-01 },
392*9a19cd78SMatthias Ringwald         {  2.8327694e-16, -1.0000000e+00 }, { -2.6176948e-02, -9.9965732e-01 },
393*9a19cd78SMatthias Ringwald         { -5.2335956e-02, -9.9862953e-01 }, { -7.8459096e-02, -9.9691733e-01 },
394*9a19cd78SMatthias Ringwald         { -1.0452846e-01, -9.9452190e-01 }, { -1.3052619e-01, -9.9144486e-01 },
395*9a19cd78SMatthias Ringwald         { -1.5643447e-01, -9.8768834e-01 }, { -1.8223553e-01, -9.8325491e-01 },
396*9a19cd78SMatthias Ringwald         { -2.0791169e-01, -9.7814760e-01 }, { -2.3344536e-01, -9.7236992e-01 },
397*9a19cd78SMatthias Ringwald         { -2.5881905e-01, -9.6592583e-01 }, { -2.8401534e-01, -9.5881973e-01 },
398*9a19cd78SMatthias Ringwald         { -3.0901699e-01, -9.5105652e-01 }, { -3.3380686e-01, -9.4264149e-01 },
399*9a19cd78SMatthias Ringwald         { -3.5836795e-01, -9.3358043e-01 }, { -3.8268343e-01, -9.2387953e-01 },
400*9a19cd78SMatthias Ringwald         { -4.0673664e-01, -9.1354546e-01 }, { -4.3051110e-01, -9.0258528e-01 },
401*9a19cd78SMatthias Ringwald         { -4.5399050e-01, -8.9100652e-01 }, { -4.7715876e-01, -8.7881711e-01 },
402*9a19cd78SMatthias Ringwald         { -5.0000000e-01, -8.6602540e-01 }, { -5.2249856e-01, -8.5264016e-01 },
403*9a19cd78SMatthias Ringwald         { -5.4463904e-01, -8.3867057e-01 }, { -5.6640624e-01, -8.2412619e-01 },
404*9a19cd78SMatthias Ringwald         { -5.8778525e-01, -8.0901699e-01 }, { -6.0876143e-01, -7.9335334e-01 },
405*9a19cd78SMatthias Ringwald         { -6.2932039e-01, -7.7714596e-01 }, { -6.4944805e-01, -7.6040597e-01 },
406*9a19cd78SMatthias Ringwald         { -6.6913061e-01, -7.4314483e-01 }, { -6.8835458e-01, -7.2537437e-01 },
407*9a19cd78SMatthias Ringwald         { -7.0710678e-01, -7.0710678e-01 }, { -7.2537437e-01, -6.8835458e-01 },
408*9a19cd78SMatthias Ringwald         { -7.4314483e-01, -6.6913061e-01 }, { -7.6040597e-01, -6.4944805e-01 },
409*9a19cd78SMatthias Ringwald         { -7.7714596e-01, -6.2932039e-01 }, { -7.9335334e-01, -6.0876143e-01 },
410*9a19cd78SMatthias Ringwald         { -8.0901699e-01, -5.8778525e-01 }, { -8.2412619e-01, -5.6640624e-01 },
411*9a19cd78SMatthias Ringwald         { -8.3867057e-01, -5.4463904e-01 }, { -8.5264016e-01, -5.2249856e-01 },
412*9a19cd78SMatthias Ringwald         { -8.6602540e-01, -5.0000000e-01 }, { -8.7881711e-01, -4.7715876e-01 },
413*9a19cd78SMatthias Ringwald         { -8.9100652e-01, -4.5399050e-01 }, { -9.0258528e-01, -4.3051110e-01 },
414*9a19cd78SMatthias Ringwald         { -9.1354546e-01, -4.0673664e-01 }, { -9.2387953e-01, -3.8268343e-01 },
415*9a19cd78SMatthias Ringwald         { -9.3358043e-01, -3.5836795e-01 }, { -9.4264149e-01, -3.3380686e-01 },
416*9a19cd78SMatthias Ringwald         { -9.5105652e-01, -3.0901699e-01 }, { -9.5881973e-01, -2.8401534e-01 },
417*9a19cd78SMatthias Ringwald         { -9.6592583e-01, -2.5881905e-01 }, { -9.7236992e-01, -2.3344536e-01 },
418*9a19cd78SMatthias Ringwald         { -9.7814760e-01, -2.0791169e-01 }, { -9.8325491e-01, -1.8223553e-01 },
419*9a19cd78SMatthias Ringwald         { -9.8768834e-01, -1.5643447e-01 }, { -9.9144486e-01, -1.3052619e-01 },
420*9a19cd78SMatthias Ringwald         { -9.9452190e-01, -1.0452846e-01 }, { -9.9691733e-01, -7.8459096e-02 },
421*9a19cd78SMatthias Ringwald         { -9.9862953e-01, -5.2335956e-02 }, { -9.9965732e-01, -2.6176948e-02 },
422*9a19cd78SMatthias Ringwald     }
423*9a19cd78SMatthias Ringwald };
424*9a19cd78SMatthias Ringwald 
425*9a19cd78SMatthias Ringwald const struct lc3_fft_bf2_twiddles *lc3_fft_twiddles_bf2[][3] = {
426*9a19cd78SMatthias Ringwald     { &fft_twiddles_10 , &fft_twiddles_30 , &fft_twiddles_90  },
427*9a19cd78SMatthias Ringwald     { &fft_twiddles_20 , &fft_twiddles_60 , &fft_twiddles_180 },
428*9a19cd78SMatthias Ringwald     { &fft_twiddles_40 , &fft_twiddles_120 },
429*9a19cd78SMatthias Ringwald     { &fft_twiddles_80 , &fft_twiddles_240 },
430*9a19cd78SMatthias Ringwald     { &fft_twiddles_160  }
431*9a19cd78SMatthias Ringwald };
432*9a19cd78SMatthias Ringwald 
433*9a19cd78SMatthias Ringwald 
434*9a19cd78SMatthias Ringwald /**
435*9a19cd78SMatthias Ringwald  * MDCT Rotation twiddles
436*9a19cd78SMatthias Ringwald  *
437*9a19cd78SMatthias Ringwald  *            2Pi (n + 1/8) / N
438*9a19cd78SMatthias Ringwald  *   W[n] = e                   , n = [0..N/4-1]
439*9a19cd78SMatthias Ringwald  */
440*9a19cd78SMatthias Ringwald 
441*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_120 = {
442*9a19cd78SMatthias Ringwald     .n4 = 120/4, .w = (const struct lc3_complex []){
443*9a19cd78SMatthias Ringwald         { 9.9997858e-01, 6.5449380e-03 }, { 9.9826561e-01, 5.8870804e-02 },
444*9a19cd78SMatthias Ringwald         { 9.9381646e-01, 1.1103531e-01 }, { 9.8664333e-01, 1.6289547e-01 },
445*9a19cd78SMatthias Ringwald         { 9.7676588e-01, 2.1430915e-01 }, { 9.6421118e-01, 2.6513543e-01 },
446*9a19cd78SMatthias Ringwald         { 9.4901365e-01, 3.1523498e-01 }, { 9.3121493e-01, 3.6447050e-01 },
447*9a19cd78SMatthias Ringwald         { 9.1086382e-01, 4.1270703e-01 }, { 8.8801610e-01, 4.5981236e-01 },
448*9a19cd78SMatthias Ringwald         { 8.6273439e-01, 5.0565737e-01 }, { 8.3508798e-01, 5.5011642e-01 },
449*9a19cd78SMatthias Ringwald         { 8.0515265e-01, 5.9306763e-01 }, { 7.7301045e-01, 6.3439328e-01 },
450*9a19cd78SMatthias Ringwald         { 7.3874949e-01, 6.7398011e-01 }, { 7.0246367e-01, 7.1171961e-01 },
451*9a19cd78SMatthias Ringwald         { 6.6425244e-01, 7.4750833e-01 }, { 6.2422054e-01, 7.8124818e-01 },
452*9a19cd78SMatthias Ringwald         { 5.8247770e-01, 8.1284668e-01 }, { 5.3913832e-01, 8.4221723e-01 },
453*9a19cd78SMatthias Ringwald         { 4.9432121e-01, 8.6927932e-01 }, { 4.4814919e-01, 8.9395878e-01 },
454*9a19cd78SMatthias Ringwald         { 4.0074883e-01, 9.1618796e-01 }, { 3.5225005e-01, 9.3590593e-01 },
455*9a19cd78SMatthias Ringwald         { 3.0278577e-01, 9.5305864e-01 }, { 2.5249158e-01, 9.6759909e-01 },
456*9a19cd78SMatthias Ringwald         { 2.0150532e-01, 9.7948742e-01 }, { 1.4996676e-01, 9.8869104e-01 },
457*9a19cd78SMatthias Ringwald         { 9.8017140e-02, 9.9518473e-01 }, { 4.5798867e-02, 9.9895068e-01 },
458*9a19cd78SMatthias Ringwald     }
459*9a19cd78SMatthias Ringwald };
460*9a19cd78SMatthias Ringwald 
461*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_160 = {
462*9a19cd78SMatthias Ringwald     .n4 = 160/4, .w = (const struct lc3_complex []){
463*9a19cd78SMatthias Ringwald         { 9.9998795e-01, 4.9087188e-03 }, { 9.9902428e-01, 4.4164277e-02 },
464*9a19cd78SMatthias Ringwald         { 9.9652019e-01, 8.3351737e-02 }, { 9.9247953e-01, 1.2241068e-01 },
465*9a19cd78SMatthias Ringwald         { 9.8690855e-01, 1.6128086e-01 }, { 9.7981582e-01, 1.9990237e-01 },
466*9a19cd78SMatthias Ringwald         { 9.7121229e-01, 2.3821564e-01 }, { 9.6111122e-01, 2.7616160e-01 },
467*9a19cd78SMatthias Ringwald         { 9.4952818e-01, 3.1368174e-01 }, { 9.3648104e-01, 3.5071820e-01 },
468*9a19cd78SMatthias Ringwald         { 9.2198992e-01, 3.8721389e-01 }, { 9.0607715e-01, 4.2311251e-01 },
469*9a19cd78SMatthias Ringwald         { 8.8876728e-01, 4.5835873e-01 }, { 8.7008699e-01, 4.9289819e-01 },
470*9a19cd78SMatthias Ringwald         { 8.5006509e-01, 5.2667764e-01 }, { 8.2873246e-01, 5.5964499e-01 },
471*9a19cd78SMatthias Ringwald         { 8.0612197e-01, 5.9174941e-01 }, { 7.8226851e-01, 6.2294139e-01 },
472*9a19cd78SMatthias Ringwald         { 7.5720885e-01, 6.5317284e-01 }, { 7.3098162e-01, 6.8239715e-01 },
473*9a19cd78SMatthias Ringwald         { 7.0362727e-01, 7.1056925e-01 }, { 6.7518798e-01, 7.3764570e-01 },
474*9a19cd78SMatthias Ringwald         { 6.4570760e-01, 7.6358476e-01 }, { 6.1523159e-01, 7.8834643e-01 },
475*9a19cd78SMatthias Ringwald         { 5.8380693e-01, 8.1189252e-01 }, { 5.5148209e-01, 8.3418673e-01 },
476*9a19cd78SMatthias Ringwald         { 5.1830690e-01, 8.5519469e-01 }, { 4.8433252e-01, 8.7488400e-01 },
477*9a19cd78SMatthias Ringwald         { 4.4961133e-01, 8.9322430e-01 }, { 4.1419687e-01, 9.1018732e-01 },
478*9a19cd78SMatthias Ringwald         { 3.7814376e-01, 9.2574689e-01 }, { 3.4150757e-01, 9.3987902e-01 },
479*9a19cd78SMatthias Ringwald         { 3.0434480e-01, 9.5256194e-01 }, { 2.6671276e-01, 9.6377607e-01 },
480*9a19cd78SMatthias Ringwald         { 2.2866946e-01, 9.7350412e-01 }, { 1.9027357e-01, 9.8173111e-01 },
481*9a19cd78SMatthias Ringwald         { 1.5158430e-01, 9.8844433e-01 }, { 1.1266129e-01, 9.9363345e-01 },
482*9a19cd78SMatthias Ringwald         { 7.3564564e-02, 9.9729046e-01 }, { 3.4354408e-02, 9.9940971e-01 },
483*9a19cd78SMatthias Ringwald     }
484*9a19cd78SMatthias Ringwald };
485*9a19cd78SMatthias Ringwald 
486*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_240 = {
487*9a19cd78SMatthias Ringwald     .n4 = 240/4, .w = (const struct lc3_complex []){
488*9a19cd78SMatthias Ringwald         { 9.9999465e-01, 3.2724865e-03 }, { 9.9956631e-01, 2.9448173e-02 },
489*9a19cd78SMatthias Ringwald         { 9.9845292e-01, 5.5603678e-02 }, { 9.9665524e-01, 8.1721074e-02 },
490*9a19cd78SMatthias Ringwald         { 9.9417450e-01, 1.0778246e-01 }, { 9.9101241e-01, 1.3376998e-01 },
491*9a19cd78SMatthias Ringwald         { 9.8717112e-01, 1.5966582e-01 }, { 9.8265328e-01, 1.8545224e-01 },
492*9a19cd78SMatthias Ringwald         { 9.7746197e-01, 2.1111155e-01 }, { 9.7160077e-01, 2.3662618e-01 },
493*9a19cd78SMatthias Ringwald         { 9.6507367e-01, 2.6197864e-01 }, { 9.5788516e-01, 2.8715155e-01 },
494*9a19cd78SMatthias Ringwald         { 9.5004017e-01, 3.1212766e-01 }, { 9.4154407e-01, 3.3688985e-01 },
495*9a19cd78SMatthias Ringwald         { 9.3240267e-01, 3.6142116e-01 }, { 9.2262226e-01, 3.8570477e-01 },
496*9a19cd78SMatthias Ringwald         { 9.1220953e-01, 4.0972403e-01 }, { 9.0117161e-01, 4.3346249e-01 },
497*9a19cd78SMatthias Ringwald         { 8.8951608e-01, 4.5690388e-01 }, { 8.7725091e-01, 4.8003212e-01 },
498*9a19cd78SMatthias Ringwald         { 8.6438452e-01, 5.0283138e-01 }, { 8.5092573e-01, 5.2528602e-01 },
499*9a19cd78SMatthias Ringwald         { 8.3688375e-01, 5.4738066e-01 }, { 8.2226822e-01, 5.6910015e-01 },
500*9a19cd78SMatthias Ringwald         { 8.0708914e-01, 5.9042960e-01 }, { 7.9135693e-01, 6.1135441e-01 },
501*9a19cd78SMatthias Ringwald         { 7.7508236e-01, 6.3186022e-01 }, { 7.5827658e-01, 6.5193299e-01 },
502*9a19cd78SMatthias Ringwald         { 7.4095113e-01, 6.7155895e-01 }, { 7.2311786e-01, 6.9072467e-01 },
503*9a19cd78SMatthias Ringwald         { 7.0478900e-01, 7.0941699e-01 }, { 6.8597711e-01, 7.2762312e-01 },
504*9a19cd78SMatthias Ringwald         { 6.6669509e-01, 7.4533057e-01 }, { 6.4695615e-01, 7.6252720e-01 },
505*9a19cd78SMatthias Ringwald         { 6.2677382e-01, 7.7920124e-01 }, { 6.0616193e-01, 7.9534126e-01 },
506*9a19cd78SMatthias Ringwald         { 5.8513461e-01, 8.1093618e-01 }, { 5.6370626e-01, 8.2597533e-01 },
507*9a19cd78SMatthias Ringwald         { 5.4189158e-01, 8.4044840e-01 }, { 5.1970551e-01, 8.5434547e-01 },
508*9a19cd78SMatthias Ringwald         { 4.9716327e-01, 8.6765701e-01 }, { 4.7428029e-01, 8.8037390e-01 },
509*9a19cd78SMatthias Ringwald         { 4.5107226e-01, 8.9248743e-01 }, { 4.2755509e-01, 9.0398929e-01 },
510*9a19cd78SMatthias Ringwald         { 4.0374490e-01, 9.1487161e-01 }, { 3.7965800e-01, 9.2512691e-01 },
511*9a19cd78SMatthias Ringwald         { 3.5531090e-01, 9.3474818e-01 }, { 3.3072029e-01, 9.4372882e-01 },
512*9a19cd78SMatthias Ringwald         { 3.0590302e-01, 9.5206268e-01 }, { 2.8087610e-01, 9.5974404e-01 },
513*9a19cd78SMatthias Ringwald         { 2.5565668e-01, 9.6676764e-01 }, { 2.3026205e-01, 9.7312866e-01 },
514*9a19cd78SMatthias Ringwald         { 2.0470960e-01, 9.7882275e-01 }, { 1.7901686e-01, 9.8384601e-01 },
515*9a19cd78SMatthias Ringwald         { 1.5320143e-01, 9.8819498e-01 }, { 1.2728100e-01, 9.9186670e-01 },
516*9a19cd78SMatthias Ringwald         { 1.0127334e-01, 9.9485864e-01 }, { 7.5196277e-02, 9.9716875e-01 },
517*9a19cd78SMatthias Ringwald         { 4.9067674e-02, 9.9879546e-01 }, { 2.2905443e-02, 9.9973764e-01 },
518*9a19cd78SMatthias Ringwald     }
519*9a19cd78SMatthias Ringwald };
520*9a19cd78SMatthias Ringwald 
521*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_320 = {
522*9a19cd78SMatthias Ringwald     .n4 = 320/4, .w = (const struct lc3_complex []){
523*9a19cd78SMatthias Ringwald         { 9.9999699e-01, 2.4543668e-03 }, { 9.9975604e-01, 2.2087527e-02 },
524*9a19cd78SMatthias Ringwald         { 9.9912967e-01, 4.1712172e-02 }, { 9.9811811e-01, 6.1320736e-02 },
525*9a19cd78SMatthias Ringwald         { 9.9672176e-01, 8.0905660e-02 }, { 9.9494116e-01, 1.0045939e-01 },
526*9a19cd78SMatthias Ringwald         { 9.9277699e-01, 1.1997440e-01 }, { 9.9023008e-01, 1.3944315e-01 },
527*9a19cd78SMatthias Ringwald         { 9.8730142e-01, 1.5885814e-01 }, { 9.8399213e-01, 1.7821189e-01 },
528*9a19cd78SMatthias Ringwald         { 9.8030350e-01, 1.9749694e-01 }, { 9.7623695e-01, 2.1670585e-01 },
529*9a19cd78SMatthias Ringwald         { 9.7179403e-01, 2.3583121e-01 }, { 9.6697647e-01, 2.5486566e-01 },
530*9a19cd78SMatthias Ringwald         { 9.6178612e-01, 2.7380185e-01 }, { 9.5622499e-01, 2.9263249e-01 },
531*9a19cd78SMatthias Ringwald         { 9.5029521e-01, 3.1135031e-01 }, { 9.4399908e-01, 3.2994809e-01 },
532*9a19cd78SMatthias Ringwald         { 9.3733901e-01, 3.4841868e-01 }, { 9.3031759e-01, 3.6675495e-01 },
533*9a19cd78SMatthias Ringwald         { 9.2293750e-01, 3.8494982e-01 }, { 9.1520161e-01, 4.0299629e-01 },
534*9a19cd78SMatthias Ringwald         { 9.0711289e-01, 4.2088739e-01 }, { 8.9867447e-01, 4.3861624e-01 },
535*9a19cd78SMatthias Ringwald         { 8.8988958e-01, 4.5617599e-01 }, { 8.8076163e-01, 4.7355988e-01 },
536*9a19cd78SMatthias Ringwald         { 8.7129412e-01, 4.9076120e-01 }, { 8.6149072e-01, 5.0777332e-01 },
537*9a19cd78SMatthias Ringwald         { 8.5135519e-01, 5.2458968e-01 }, { 8.4089145e-01, 5.4120381e-01 },
538*9a19cd78SMatthias Ringwald         { 8.3010353e-01, 5.5760929e-01 }, { 8.1899560e-01, 5.7379980e-01 },
539*9a19cd78SMatthias Ringwald         { 8.0757192e-01, 5.8976911e-01 }, { 7.9583690e-01, 6.0551104e-01 },
540*9a19cd78SMatthias Ringwald         { 7.8379508e-01, 6.2101954e-01 }, { 7.7145109e-01, 6.3628862e-01 },
541*9a19cd78SMatthias Ringwald         { 7.5880969e-01, 6.5131241e-01 }, { 7.4587576e-01, 6.6608510e-01 },
542*9a19cd78SMatthias Ringwald         { 7.3265427e-01, 6.8060100e-01 }, { 7.1915033e-01, 6.9485451e-01 },
543*9a19cd78SMatthias Ringwald         { 7.0536915e-01, 7.0884015e-01 }, { 6.9131604e-01, 7.2255252e-01 },
544*9a19cd78SMatthias Ringwald         { 6.7699640e-01, 7.3598632e-01 }, { 6.6241578e-01, 7.4913639e-01 },
545*9a19cd78SMatthias Ringwald         { 6.4757978e-01, 7.6199766e-01 }, { 6.3249412e-01, 7.7456516e-01 },
546*9a19cd78SMatthias Ringwald         { 6.1716463e-01, 7.8683405e-01 }, { 6.0159721e-01, 7.9879960e-01 },
547*9a19cd78SMatthias Ringwald         { 5.8579786e-01, 8.1045720e-01 }, { 5.6977267e-01, 8.2180235e-01 },
548*9a19cd78SMatthias Ringwald         { 5.5352783e-01, 8.3283068e-01 }, { 5.3706959e-01, 8.4353794e-01 },
549*9a19cd78SMatthias Ringwald         { 5.2040430e-01, 8.5392000e-01 }, { 5.0353838e-01, 8.6397286e-01 },
550*9a19cd78SMatthias Ringwald         { 4.8647834e-01, 8.7369263e-01 }, { 4.6923076e-01, 8.8307559e-01 },
551*9a19cd78SMatthias Ringwald         { 4.5180228e-01, 8.9211810e-01 }, { 4.3419961e-01, 9.0081668e-01 },
552*9a19cd78SMatthias Ringwald         { 4.1642956e-01, 9.0916798e-01 }, { 3.9849896e-01, 9.1716878e-01 },
553*9a19cd78SMatthias Ringwald         { 3.8041474e-01, 9.2481600e-01 }, { 3.6218386e-01, 9.3210667e-01 },
554*9a19cd78SMatthias Ringwald         { 3.4381335e-01, 9.3903801e-01 }, { 3.2531029e-01, 9.4560733e-01 },
555*9a19cd78SMatthias Ringwald         { 3.0668182e-01, 9.5181209e-01 }, { 2.8793512e-01, 9.5764992e-01 },
556*9a19cd78SMatthias Ringwald         { 2.6907741e-01, 9.6311855e-01 }, { 2.5011597e-01, 9.6821588e-01 },
557*9a19cd78SMatthias Ringwald         { 2.3105811e-01, 9.7293995e-01 }, { 2.1191117e-01, 9.7728893e-01 },
558*9a19cd78SMatthias Ringwald         { 1.9268253e-01, 9.8126115e-01 }, { 1.7337961e-01, 9.8485507e-01 },
559*9a19cd78SMatthias Ringwald         { 1.5400984e-01, 9.8806931e-01 }, { 1.3458071e-01, 9.9090264e-01 },
560*9a19cd78SMatthias Ringwald         { 1.1509969e-01, 9.9335395e-01 }, { 9.5574297e-02, 9.9542230e-01 },
561*9a19cd78SMatthias Ringwald         { 7.6012059e-02, 9.9710690e-01 }, { 5.6420516e-02, 9.9840709e-01 },
562*9a19cd78SMatthias Ringwald         { 3.6807223e-02, 9.9932238e-01 }, { 1.7179740e-02, 9.9985242e-01 },
563*9a19cd78SMatthias Ringwald     }
564*9a19cd78SMatthias Ringwald };
565*9a19cd78SMatthias Ringwald 
566*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_360 = {
567*9a19cd78SMatthias Ringwald     .n4 = 360/4, .w = (const struct lc3_complex []){
568*9a19cd78SMatthias Ringwald         { 9.9999762e-01, 2.1816598e-03 }, { 9.9980724e-01, 1.9633692e-02 },
569*9a19cd78SMatthias Ringwald         { 9.9931231e-01, 3.7079744e-02 }, { 9.9851298e-01, 5.4514502e-02 },
570*9a19cd78SMatthias Ringwald         { 9.9740949e-01, 7.1932653e-02 }, { 9.9600218e-01, 8.9328893e-02 },
571*9a19cd78SMatthias Ringwald         { 9.9429148e-01, 1.0669792e-01 }, { 9.9227791e-01, 1.2403445e-01 },
572*9a19cd78SMatthias Ringwald         { 9.8996208e-01, 1.4133320e-01 }, { 9.8734470e-01, 1.5858889e-01 },
573*9a19cd78SMatthias Ringwald         { 9.8442657e-01, 1.7579628e-01 }, { 9.8120857e-01, 1.9295012e-01 },
574*9a19cd78SMatthias Ringwald         { 9.7769168e-01, 2.1004518e-01 }, { 9.7387698e-01, 2.2707626e-01 },
575*9a19cd78SMatthias Ringwald         { 9.6976563e-01, 2.4403818e-01 }, { 9.6535887e-01, 2.6092575e-01 },
576*9a19cd78SMatthias Ringwald         { 9.6065806e-01, 2.7773385e-01 }, { 9.5566462e-01, 2.9445734e-01 },
577*9a19cd78SMatthias Ringwald         { 9.5038008e-01, 3.1109114e-01 }, { 9.4480605e-01, 3.2763018e-01 },
578*9a19cd78SMatthias Ringwald         { 9.3894421e-01, 3.4406942e-01 }, { 9.3279637e-01, 3.6040385e-01 },
579*9a19cd78SMatthias Ringwald         { 9.2636438e-01, 3.7662850e-01 }, { 9.1965022e-01, 3.9273843e-01 },
580*9a19cd78SMatthias Ringwald         { 9.1265592e-01, 4.0872872e-01 }, { 9.0538362e-01, 4.2459451e-01 },
581*9a19cd78SMatthias Ringwald         { 8.9783553e-01, 4.4033097e-01 }, { 8.9001395e-01, 4.5593329e-01 },
582*9a19cd78SMatthias Ringwald         { 8.8192126e-01, 4.7139674e-01 }, { 8.7355994e-01, 4.8671659e-01 },
583*9a19cd78SMatthias Ringwald         { 8.6493251e-01, 5.0188818e-01 }, { 8.5604162e-01, 5.1690690e-01 },
584*9a19cd78SMatthias Ringwald         { 8.4688997e-01, 5.3176816e-01 }, { 8.3748035e-01, 5.4646743e-01 },
585*9a19cd78SMatthias Ringwald         { 8.2781563e-01, 5.6100025e-01 }, { 8.1789875e-01, 5.7536218e-01 },
586*9a19cd78SMatthias Ringwald         { 8.0773272e-01, 5.8954885e-01 }, { 7.9732065e-01, 6.0355594e-01 },
587*9a19cd78SMatthias Ringwald         { 7.8666571e-01, 6.1737918e-01 }, { 7.7577115e-01, 6.3101436e-01 },
588*9a19cd78SMatthias Ringwald         { 7.6464028e-01, 6.4445733e-01 }, { 7.5327649e-01, 6.5770399e-01 },
589*9a19cd78SMatthias Ringwald         { 7.4168324e-01, 6.7075030e-01 }, { 7.2986407e-01, 6.8359230e-01 },
590*9a19cd78SMatthias Ringwald         { 7.1782258e-01, 6.9622607e-01 }, { 7.0556243e-01, 7.0864776e-01 },
591*9a19cd78SMatthias Ringwald         { 6.9308736e-01, 7.2085360e-01 }, { 6.8040117e-01, 7.3283985e-01 },
592*9a19cd78SMatthias Ringwald         { 6.6750772e-01, 7.4460287e-01 }, { 6.5441095e-01, 7.5613908e-01 },
593*9a19cd78SMatthias Ringwald         { 6.4111483e-01, 7.6744496e-01 }, { 6.2762343e-01, 7.7851708e-01 },
594*9a19cd78SMatthias Ringwald         { 6.1394084e-01, 7.8935204e-01 }, { 6.0007124e-01, 7.9994657e-01 },
595*9a19cd78SMatthias Ringwald         { 5.8601885e-01, 8.1029742e-01 }, { 5.7178796e-01, 8.2040144e-01 },
596*9a19cd78SMatthias Ringwald         { 5.5738289e-01, 8.3025557e-01 }, { 5.4280804e-01, 8.3985679e-01 },
597*9a19cd78SMatthias Ringwald         { 5.2806785e-01, 8.4920218e-01 }, { 5.1316680e-01, 8.5828890e-01 },
598*9a19cd78SMatthias Ringwald         { 4.9810944e-01, 8.6711417e-01 }, { 4.8290034e-01, 8.7567532e-01 },
599*9a19cd78SMatthias Ringwald         { 4.6754415e-01, 8.8396972e-01 }, { 4.5204555e-01, 8.9199486e-01 },
600*9a19cd78SMatthias Ringwald         { 4.3640924e-01, 8.9974828e-01 }, { 4.2064000e-01, 9.0722764e-01 },
601*9a19cd78SMatthias Ringwald         { 4.0474263e-01, 9.1443064e-01 }, { 3.8872197e-01, 9.2135511e-01 },
602*9a19cd78SMatthias Ringwald         { 3.7258290e-01, 9.2799891e-01 }, { 3.5633034e-01, 9.3436004e-01 },
603*9a19cd78SMatthias Ringwald         { 3.3996924e-01, 9.4043656e-01 }, { 3.2350458e-01, 9.4622660e-01 },
604*9a19cd78SMatthias Ringwald         { 3.0694138e-01, 9.5172842e-01 }, { 2.9028468e-01, 9.5694034e-01 },
605*9a19cd78SMatthias Ringwald         { 2.7353955e-01, 9.6186076e-01 }, { 2.5671111e-01, 9.6648818e-01 },
606*9a19cd78SMatthias Ringwald         { 2.3980446e-01, 9.7082121e-01 }, { 2.2282477e-01, 9.7485851e-01 },
607*9a19cd78SMatthias Ringwald         { 2.0577721e-01, 9.7859887e-01 }, { 1.8866696e-01, 9.8204113e-01 },
608*9a19cd78SMatthias Ringwald         { 1.7149925e-01, 9.8518425e-01 }, { 1.5427929e-01, 9.8802728e-01 },
609*9a19cd78SMatthias Ringwald         { 1.3701234e-01, 9.9056934e-01 }, { 1.1970366e-01, 9.9280967e-01 },
610*9a19cd78SMatthias Ringwald         { 1.0235851e-01, 9.9474757e-01 }, { 8.4982177e-02, 9.9638247e-01 },
611*9a19cd78SMatthias Ringwald         { 6.7579962e-02, 9.9771386e-01 }, { 5.0157162e-02, 9.9874134e-01 },
612*9a19cd78SMatthias Ringwald         { 3.2719083e-02, 9.9946459e-01 }, { 1.5271037e-02, 9.9988339e-01 },
613*9a19cd78SMatthias Ringwald     }
614*9a19cd78SMatthias Ringwald };
615*9a19cd78SMatthias Ringwald 
616*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_480 = {
617*9a19cd78SMatthias Ringwald     .n4 = 480/4, .w = (const struct lc3_complex []){
618*9a19cd78SMatthias Ringwald         { 9.9999866e-01, 1.6362454e-03 }, { 9.9989157e-01, 1.4725683e-02 },
619*9a19cd78SMatthias Ringwald         { 9.9961315e-01, 2.7812598e-02 }, { 9.9916346e-01, 4.0894747e-02 },
620*9a19cd78SMatthias Ringwald         { 9.9854256e-01, 5.3969889e-02 }, { 9.9775057e-01, 6.7035784e-02 },
621*9a19cd78SMatthias Ringwald         { 9.9678762e-01, 8.0090192e-02 }, { 9.9565388e-01, 9.3130877e-02 },
622*9a19cd78SMatthias Ringwald         { 9.9434953e-01, 1.0615561e-01 }, { 9.9287481e-01, 1.1916214e-01 },
623*9a19cd78SMatthias Ringwald         { 9.9122996e-01, 1.3214826e-01 }, { 9.8941527e-01, 1.4511174e-01 },
624*9a19cd78SMatthias Ringwald         { 9.8743105e-01, 1.5805036e-01 }, { 9.8527764e-01, 1.7096189e-01 },
625*9a19cd78SMatthias Ringwald         { 9.8295541e-01, 1.8384413e-01 }, { 9.8046475e-01, 1.9669487e-01 },
626*9a19cd78SMatthias Ringwald         { 9.7780610e-01, 2.0951190e-01 }, { 9.7497990e-01, 2.2229304e-01 },
627*9a19cd78SMatthias Ringwald         { 9.7198664e-01, 2.3503609e-01 }, { 9.6882685e-01, 2.4773886e-01 },
628*9a19cd78SMatthias Ringwald         { 9.6550104e-01, 2.6039919e-01 }, { 9.6200980e-01, 2.7301490e-01 },
629*9a19cd78SMatthias Ringwald         { 9.5835373e-01, 2.8558383e-01 }, { 9.5453345e-01, 2.9810383e-01 },
630*9a19cd78SMatthias Ringwald         { 9.5054962e-01, 3.1057274e-01 }, { 9.4640291e-01, 3.2298845e-01 },
631*9a19cd78SMatthias Ringwald         { 9.4209404e-01, 3.3534881e-01 }, { 9.3762375e-01, 3.4765171e-01 },
632*9a19cd78SMatthias Ringwald         { 9.3299280e-01, 3.5989504e-01 }, { 9.2820199e-01, 3.7207670e-01 },
633*9a19cd78SMatthias Ringwald         { 9.2325213e-01, 3.8419461e-01 }, { 9.1814408e-01, 3.9624670e-01 },
634*9a19cd78SMatthias Ringwald         { 9.1287871e-01, 4.0823088e-01 }, { 9.0745693e-01, 4.2014512e-01 },
635*9a19cd78SMatthias Ringwald         { 9.0187965e-01, 4.3198737e-01 }, { 8.9614785e-01, 4.4375560e-01 },
636*9a19cd78SMatthias Ringwald         { 8.9026249e-01, 4.5544780e-01 }, { 8.8422459e-01, 4.6706195e-01 },
637*9a19cd78SMatthias Ringwald         { 8.7803519e-01, 4.7859608e-01 }, { 8.7169533e-01, 4.9004821e-01 },
638*9a19cd78SMatthias Ringwald         { 8.6520612e-01, 5.0141636e-01 }, { 8.5856866e-01, 5.1269860e-01 },
639*9a19cd78SMatthias Ringwald         { 8.5178409e-01, 5.2389299e-01 }, { 8.4485357e-01, 5.3499762e-01 },
640*9a19cd78SMatthias Ringwald         { 8.3777828e-01, 5.4601058e-01 }, { 8.3055945e-01, 5.5692998e-01 },
641*9a19cd78SMatthias Ringwald         { 8.2319831e-01, 5.6775395e-01 }, { 8.1569611e-01, 5.7848064e-01 },
642*9a19cd78SMatthias Ringwald         { 8.0805415e-01, 5.8910822e-01 }, { 8.0027373e-01, 5.9963485e-01 },
643*9a19cd78SMatthias Ringwald         { 7.9235620e-01, 6.1005873e-01 }, { 7.8430289e-01, 6.2037809e-01 },
644*9a19cd78SMatthias Ringwald         { 7.7611520e-01, 6.3059115e-01 }, { 7.6779452e-01, 6.4069616e-01 },
645*9a19cd78SMatthias Ringwald         { 7.5934229e-01, 6.5069139e-01 }, { 7.5075995e-01, 6.6057513e-01 },
646*9a19cd78SMatthias Ringwald         { 7.4204897e-01, 6.7034568e-01 }, { 7.3321084e-01, 6.8000137e-01 },
647*9a19cd78SMatthias Ringwald         { 7.2424708e-01, 6.8954054e-01 }, { 7.1515923e-01, 6.9896157e-01 },
648*9a19cd78SMatthias Ringwald         { 7.0594883e-01, 7.0826283e-01 }, { 6.9661748e-01, 7.1744274e-01 },
649*9a19cd78SMatthias Ringwald         { 6.8716676e-01, 7.2649972e-01 }, { 6.7759830e-01, 7.3543221e-01 },
650*9a19cd78SMatthias Ringwald         { 6.6791374e-01, 7.4423869e-01 }, { 6.5811474e-01, 7.5291765e-01 },
651*9a19cd78SMatthias Ringwald         { 6.4820297e-01, 7.6146760e-01 }, { 6.3818013e-01, 7.6988708e-01 },
652*9a19cd78SMatthias Ringwald         { 6.2804795e-01, 7.7817464e-01 }, { 6.1780815e-01, 7.8632887e-01 },
653*9a19cd78SMatthias Ringwald         { 6.0746249e-01, 7.9434836e-01 }, { 5.9701275e-01, 8.0223175e-01 },
654*9a19cd78SMatthias Ringwald         { 5.8646072e-01, 8.0997767e-01 }, { 5.7580819e-01, 8.1758481e-01 },
655*9a19cd78SMatthias Ringwald         { 5.6505701e-01, 8.2505187e-01 }, { 5.5420900e-01, 8.3237755e-01 },
656*9a19cd78SMatthias Ringwald         { 5.4326604e-01, 8.3956061e-01 }, { 5.3222998e-01, 8.4659981e-01 },
657*9a19cd78SMatthias Ringwald         { 5.2110274e-01, 8.5349396e-01 }, { 5.0988620e-01, 8.6024186e-01 },
658*9a19cd78SMatthias Ringwald         { 4.9858230e-01, 8.6684237e-01 }, { 4.8719297e-01, 8.7329434e-01 },
659*9a19cd78SMatthias Ringwald         { 4.7572016e-01, 8.7959669e-01 }, { 4.6416584e-01, 8.8574831e-01 },
660*9a19cd78SMatthias Ringwald         { 4.5253199e-01, 8.9174817e-01 }, { 4.4082059e-01, 8.9759523e-01 },
661*9a19cd78SMatthias Ringwald         { 4.2903367e-01, 9.0328850e-01 }, { 4.1717323e-01, 9.0882699e-01 },
662*9a19cd78SMatthias Ringwald         { 4.0524131e-01, 9.1420976e-01 }, { 3.9323996e-01, 9.1943588e-01 },
663*9a19cd78SMatthias Ringwald         { 3.8117123e-01, 9.2450446e-01 }, { 3.6903718e-01, 9.2941463e-01 },
664*9a19cd78SMatthias Ringwald         { 3.5683990e-01, 9.3416555e-01 }, { 3.4458148e-01, 9.3875641e-01 },
665*9a19cd78SMatthias Ringwald         { 3.3226402e-01, 9.4318642e-01 }, { 3.1988962e-01, 9.4745482e-01 },
666*9a19cd78SMatthias Ringwald         { 3.0746042e-01, 9.5156087e-01 }, { 2.9497853e-01, 9.5550388e-01 },
667*9a19cd78SMatthias Ringwald         { 2.8244610e-01, 9.5928317e-01 }, { 2.6986527e-01, 9.6289809e-01 },
668*9a19cd78SMatthias Ringwald         { 2.5723821e-01, 9.6634802e-01 }, { 2.4456706e-01, 9.6963238e-01 },
669*9a19cd78SMatthias Ringwald         { 2.3185402e-01, 9.7275059e-01 }, { 2.1910124e-01, 9.7570213e-01 },
670*9a19cd78SMatthias Ringwald         { 2.0631092e-01, 9.7848649e-01 }, { 1.9348526e-01, 9.8110318e-01 },
671*9a19cd78SMatthias Ringwald         { 1.8062644e-01, 9.8355177e-01 }, { 1.6773667e-01, 9.8583184e-01 },
672*9a19cd78SMatthias Ringwald         { 1.5481816e-01, 9.8794298e-01 }, { 1.4187312e-01, 9.8988485e-01 },
673*9a19cd78SMatthias Ringwald         { 1.2890377e-01, 9.9165711e-01 }, { 1.1591234e-01, 9.9325945e-01 },
674*9a19cd78SMatthias Ringwald         { 1.0290104e-01, 9.9469160e-01 }, { 8.9872115e-02, 9.9595331e-01 },
675*9a19cd78SMatthias Ringwald         { 7.6827789e-02, 9.9704438e-01 }, { 6.3770300e-02, 9.9796460e-01 },
676*9a19cd78SMatthias Ringwald         { 5.0701883e-02, 9.9871383e-01 }, { 3.7624779e-02, 9.9929194e-01 },
677*9a19cd78SMatthias Ringwald         { 2.4541229e-02, 9.9969882e-01 }, { 1.1453473e-02, 9.9993441e-01 },
678*9a19cd78SMatthias Ringwald     }
679*9a19cd78SMatthias Ringwald };
680*9a19cd78SMatthias Ringwald 
681*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_640 = {
682*9a19cd78SMatthias Ringwald     .n4 = 640/4, .w = (const struct lc3_complex []){
683*9a19cd78SMatthias Ringwald         { 9.9999925e-01, 1.2271843e-03 }, { 9.9993901e-01, 1.1044437e-02 },
684*9a19cd78SMatthias Ringwald         { 9.9978239e-01, 2.0860625e-02 }, { 9.9952942e-01, 3.0674803e-02 },
685*9a19cd78SMatthias Ringwald         { 9.9918010e-01, 4.0486024e-02 }, { 9.9873449e-01, 5.0293344e-02 },
686*9a19cd78SMatthias Ringwald         { 9.9819261e-01, 6.0095815e-02 }, { 9.9755453e-01, 6.9892495e-02 },
687*9a19cd78SMatthias Ringwald         { 9.9682030e-01, 7.9682438e-02 }, { 9.9598999e-01, 8.9464701e-02 },
688*9a19cd78SMatthias Ringwald         { 9.9506369e-01, 9.9238342e-02 }, { 9.9404148e-01, 1.0900242e-01 },
689*9a19cd78SMatthias Ringwald         { 9.9292347e-01, 1.1875599e-01 }, { 9.9170975e-01, 1.2849811e-01 },
690*9a19cd78SMatthias Ringwald         { 9.9040046e-01, 1.3822785e-01 }, { 9.8899570e-01, 1.4794427e-01 },
691*9a19cd78SMatthias Ringwald         { 9.8749562e-01, 1.5764642e-01 }, { 9.8590037e-01, 1.6733339e-01 },
692*9a19cd78SMatthias Ringwald         { 9.8421009e-01, 1.7700422e-01 }, { 9.8242496e-01, 1.8665800e-01 },
693*9a19cd78SMatthias Ringwald         { 9.8054513e-01, 1.9629378e-01 }, { 9.7857080e-01, 2.0591064e-01 },
694*9a19cd78SMatthias Ringwald         { 9.7650215e-01, 2.1550766e-01 }, { 9.7433938e-01, 2.2508391e-01 },
695*9a19cd78SMatthias Ringwald         { 9.7208271e-01, 2.3463847e-01 }, { 9.6973234e-01, 2.4417040e-01 },
696*9a19cd78SMatthias Ringwald         { 9.6728851e-01, 2.5367881e-01 }, { 9.6475145e-01, 2.6316276e-01 },
697*9a19cd78SMatthias Ringwald         { 9.6212140e-01, 2.7262136e-01 }, { 9.5939863e-01, 2.8205367e-01 },
698*9a19cd78SMatthias Ringwald         { 9.5658338e-01, 2.9145880e-01 }, { 9.5367594e-01, 3.0083584e-01 },
699*9a19cd78SMatthias Ringwald         { 9.5067658e-01, 3.1018388e-01 }, { 9.4758559e-01, 3.1950203e-01 },
700*9a19cd78SMatthias Ringwald         { 9.4440327e-01, 3.2878938e-01 }, { 9.4112993e-01, 3.3804505e-01 },
701*9a19cd78SMatthias Ringwald         { 9.3776588e-01, 3.4726813e-01 }, { 9.3431145e-01, 3.5645774e-01 },
702*9a19cd78SMatthias Ringwald         { 9.3076696e-01, 3.6561300e-01 }, { 9.2713277e-01, 3.7473302e-01 },
703*9a19cd78SMatthias Ringwald         { 9.2340921e-01, 3.8381691e-01 }, { 9.1959666e-01, 3.9286382e-01 },
704*9a19cd78SMatthias Ringwald         { 9.1569547e-01, 4.0187286e-01 }, { 9.1170603e-01, 4.1084317e-01 },
705*9a19cd78SMatthias Ringwald         { 9.0762872e-01, 4.1977388e-01 }, { 9.0346392e-01, 4.2866413e-01 },
706*9a19cd78SMatthias Ringwald         { 8.9921205e-01, 4.3751307e-01 }, { 8.9487351e-01, 4.4631984e-01 },
707*9a19cd78SMatthias Ringwald         { 8.9044872e-01, 4.5508359e-01 }, { 8.8593811e-01, 4.6380348e-01 },
708*9a19cd78SMatthias Ringwald         { 8.8134211e-01, 4.7247866e-01 }, { 8.7666116e-01, 4.8110831e-01 },
709*9a19cd78SMatthias Ringwald         { 8.7189572e-01, 4.8969159e-01 }, { 8.6704625e-01, 4.9822767e-01 },
710*9a19cd78SMatthias Ringwald         { 8.6211320e-01, 5.0671573e-01 }, { 8.5709707e-01, 5.1515495e-01 },
711*9a19cd78SMatthias Ringwald         { 8.5199832e-01, 5.2354452e-01 }, { 8.4681746e-01, 5.3188363e-01 },
712*9a19cd78SMatthias Ringwald         { 8.4155498e-01, 5.4017147e-01 }, { 8.3621139e-01, 5.4840726e-01 },
713*9a19cd78SMatthias Ringwald         { 8.3078720e-01, 5.5659018e-01 }, { 8.2528294e-01, 5.6471946e-01 },
714*9a19cd78SMatthias Ringwald         { 8.1969914e-01, 5.7279431e-01 }, { 8.1403633e-01, 5.8081396e-01 },
715*9a19cd78SMatthias Ringwald         { 8.0829506e-01, 5.8877762e-01 }, { 8.0247589e-01, 5.9668454e-01 },
716*9a19cd78SMatthias Ringwald         { 7.9657938e-01, 6.0453395e-01 }, { 7.9060609e-01, 6.1232509e-01 },
717*9a19cd78SMatthias Ringwald         { 7.8455660e-01, 6.2005721e-01 }, { 7.7843149e-01, 6.2772957e-01 },
718*9a19cd78SMatthias Ringwald         { 7.7223135e-01, 6.3534143e-01 }, { 7.6595679e-01, 6.4289206e-01 },
719*9a19cd78SMatthias Ringwald         { 7.5960840e-01, 6.5038072e-01 }, { 7.5318680e-01, 6.5780669e-01 },
720*9a19cd78SMatthias Ringwald         { 7.4669260e-01, 6.6516927e-01 }, { 7.4012644e-01, 6.7246773e-01 },
721*9a19cd78SMatthias Ringwald         { 7.3348894e-01, 6.7970138e-01 }, { 7.2678075e-01, 6.8686952e-01 },
722*9a19cd78SMatthias Ringwald         { 7.2000251e-01, 6.9397146e-01 }, { 7.1315487e-01, 7.0100651e-01 },
723*9a19cd78SMatthias Ringwald         { 7.0623850e-01, 7.0797400e-01 }, { 6.9925406e-01, 7.1487325e-01 },
724*9a19cd78SMatthias Ringwald         { 6.9220222e-01, 7.2170360e-01 }, { 6.8508367e-01, 7.2846439e-01 },
725*9a19cd78SMatthias Ringwald         { 6.7789909e-01, 7.3515497e-01 }, { 6.7064917e-01, 7.4177469e-01 },
726*9a19cd78SMatthias Ringwald         { 6.6333461e-01, 7.4832292e-01 }, { 6.5595612e-01, 7.5479903e-01 },
727*9a19cd78SMatthias Ringwald         { 6.4851440e-01, 7.6120239e-01 }, { 6.4101018e-01, 7.6753238e-01 },
728*9a19cd78SMatthias Ringwald         { 6.3344418e-01, 7.7378839e-01 }, { 6.2581713e-01, 7.7996982e-01 },
729*9a19cd78SMatthias Ringwald         { 6.1812975e-01, 7.8607608e-01 }, { 6.1038281e-01, 7.9210658e-01 },
730*9a19cd78SMatthias Ringwald         { 6.0257703e-01, 7.9806073e-01 }, { 5.9471317e-01, 8.0393796e-01 },
731*9a19cd78SMatthias Ringwald         { 5.8679200e-01, 8.0973771e-01 }, { 5.7881426e-01, 8.1545941e-01 },
732*9a19cd78SMatthias Ringwald         { 5.7078075e-01, 8.2110251e-01 }, { 5.6269221e-01, 8.2666648e-01 },
733*9a19cd78SMatthias Ringwald         { 5.5454945e-01, 8.3215077e-01 }, { 5.4635323e-01, 8.3755486e-01 },
734*9a19cd78SMatthias Ringwald         { 5.3810436e-01, 8.4287822e-01 }, { 5.2980362e-01, 8.4812034e-01 },
735*9a19cd78SMatthias Ringwald         { 5.2145182e-01, 8.5328072e-01 }, { 5.1304977e-01, 8.5835886e-01 },
736*9a19cd78SMatthias Ringwald         { 5.0459826e-01, 8.6335427e-01 }, { 4.9609812e-01, 8.6826647e-01 },
737*9a19cd78SMatthias Ringwald         { 4.8755016e-01, 8.7309498e-01 }, { 4.7895521e-01, 8.7783934e-01 },
738*9a19cd78SMatthias Ringwald         { 4.7031410e-01, 8.8249909e-01 }, { 4.6162766e-01, 8.8707379e-01 },
739*9a19cd78SMatthias Ringwald         { 4.5289673e-01, 8.9156298e-01 }, { 4.4412214e-01, 8.9596625e-01 },
740*9a19cd78SMatthias Ringwald         { 4.3530476e-01, 9.0028316e-01 }, { 4.2644541e-01, 9.0451330e-01 },
741*9a19cd78SMatthias Ringwald         { 4.1754496e-01, 9.0865626e-01 }, { 4.0860427e-01, 9.1271165e-01 },
742*9a19cd78SMatthias Ringwald         { 3.9962420e-01, 9.1667906e-01 }, { 3.9060561e-01, 9.2055812e-01 },
743*9a19cd78SMatthias Ringwald         { 3.8154937e-01, 9.2434846e-01 }, { 3.7245636e-01, 9.2804971e-01 },
744*9a19cd78SMatthias Ringwald         { 3.6332745e-01, 9.3166151e-01 }, { 3.5416353e-01, 9.3518351e-01 },
745*9a19cd78SMatthias Ringwald         { 3.4496546e-01, 9.3861538e-01 }, { 3.3573415e-01, 9.4195678e-01 },
746*9a19cd78SMatthias Ringwald         { 3.2647048e-01, 9.4520740e-01 }, { 3.1717535e-01, 9.4836691e-01 },
747*9a19cd78SMatthias Ringwald         { 3.0784964e-01, 9.5143502e-01 }, { 2.9849426e-01, 9.5441143e-01 },
748*9a19cd78SMatthias Ringwald         { 2.8911012e-01, 9.5729585e-01 }, { 2.7969810e-01, 9.6008800e-01 },
749*9a19cd78SMatthias Ringwald         { 2.7025914e-01, 9.6278762e-01 }, { 2.6079412e-01, 9.6539444e-01 },
750*9a19cd78SMatthias Ringwald         { 2.5130396e-01, 9.6790822e-01 }, { 2.4178959e-01, 9.7032870e-01 },
751*9a19cd78SMatthias Ringwald         { 2.3225191e-01, 9.7265567e-01 }, { 2.2269185e-01, 9.7488889e-01 },
752*9a19cd78SMatthias Ringwald         { 2.1311032e-01, 9.7702814e-01 }, { 2.0350825e-01, 9.7907323e-01 },
753*9a19cd78SMatthias Ringwald         { 1.9388657e-01, 9.8102395e-01 }, { 1.8424620e-01, 9.8288012e-01 },
754*9a19cd78SMatthias Ringwald         { 1.7458807e-01, 9.8464156e-01 }, { 1.6491312e-01, 9.8630810e-01 },
755*9a19cd78SMatthias Ringwald         { 1.5522227e-01, 9.8787957e-01 }, { 1.4551646e-01, 9.8935583e-01 },
756*9a19cd78SMatthias Ringwald         { 1.3579663e-01, 9.9073673e-01 }, { 1.2606370e-01, 9.9202215e-01 },
757*9a19cd78SMatthias Ringwald         { 1.1631863e-01, 9.9321195e-01 }, { 1.0656235e-01, 9.9430602e-01 },
758*9a19cd78SMatthias Ringwald         { 9.6795791e-02, 9.9530426e-01 }, { 8.7019907e-02, 9.9620657e-01 },
759*9a19cd78SMatthias Ringwald         { 7.7235635e-02, 9.9701287e-01 }, { 6.7443920e-02, 9.9772307e-01 },
760*9a19cd78SMatthias Ringwald         { 5.7645703e-02, 9.9833710e-01 }, { 4.7841931e-02, 9.9885492e-01 },
761*9a19cd78SMatthias Ringwald         { 3.8033548e-02, 9.9927646e-01 }, { 2.8221499e-02, 9.9960169e-01 },
762*9a19cd78SMatthias Ringwald         { 1.8406730e-02, 9.9983058e-01 }, { 8.5901868e-03, 9.9996310e-01 },
763*9a19cd78SMatthias Ringwald     }
764*9a19cd78SMatthias Ringwald };
765*9a19cd78SMatthias Ringwald 
766*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_720 = {
767*9a19cd78SMatthias Ringwald     .n4 = 720/4, .w = (const struct lc3_complex []){
768*9a19cd78SMatthias Ringwald         { 9.9999941e-01, 1.0908306e-03 }, { 9.9995181e-01, 9.8173193e-03 },
769*9a19cd78SMatthias Ringwald         { 9.9982806e-01, 1.8543060e-02 }, { 9.9962818e-01, 2.7267389e-02 },
770*9a19cd78SMatthias Ringwald         { 9.9935216e-01, 3.5989642e-02 }, { 9.9900005e-01, 4.4709154e-02 },
771*9a19cd78SMatthias Ringwald         { 9.9857185e-01, 5.3425261e-02 }, { 9.9806761e-01, 6.2137299e-02 },
772*9a19cd78SMatthias Ringwald         { 9.9748736e-01, 7.0844606e-02 }, { 9.9683116e-01, 7.9546517e-02 },
773*9a19cd78SMatthias Ringwald         { 9.9609903e-01, 8.8242371e-02 }, { 9.9529105e-01, 9.6931504e-02 },
774*9a19cd78SMatthias Ringwald         { 9.9440728e-01, 1.0561326e-01 }, { 9.9344778e-01, 1.1428696e-01 },
775*9a19cd78SMatthias Ringwald         { 9.9241262e-01, 1.2295197e-01 }, { 9.9130189e-01, 1.3160761e-01 },
776*9a19cd78SMatthias Ringwald         { 9.9011567e-01, 1.4025323e-01 }, { 9.8885404e-01, 1.4888817e-01 },
777*9a19cd78SMatthias Ringwald         { 9.8751711e-01, 1.5751177e-01 }, { 9.8610498e-01, 1.6612338e-01 },
778*9a19cd78SMatthias Ringwald         { 9.8461775e-01, 1.7472233e-01 }, { 9.8305553e-01, 1.8330798e-01 },
779*9a19cd78SMatthias Ringwald         { 9.8141846e-01, 1.9187967e-01 }, { 9.7970664e-01, 2.0043675e-01 },
780*9a19cd78SMatthias Ringwald         { 9.7792022e-01, 2.0897856e-01 }, { 9.7605933e-01, 2.1750446e-01 },
781*9a19cd78SMatthias Ringwald         { 9.7412410e-01, 2.2601379e-01 }, { 9.7211469e-01, 2.3450592e-01 },
782*9a19cd78SMatthias Ringwald         { 9.7003125e-01, 2.4298018e-01 }, { 9.6787394e-01, 2.5143594e-01 },
783*9a19cd78SMatthias Ringwald         { 9.6564292e-01, 2.5987255e-01 }, { 9.6333837e-01, 2.6828937e-01 },
784*9a19cd78SMatthias Ringwald         { 9.6096045e-01, 2.7668577e-01 }, { 9.5850935e-01, 2.8506109e-01 },
785*9a19cd78SMatthias Ringwald         { 9.5598526e-01, 2.9341470e-01 }, { 9.5338836e-01, 3.0174596e-01 },
786*9a19cd78SMatthias Ringwald         { 9.5071887e-01, 3.1005425e-01 }, { 9.4797697e-01, 3.1833893e-01 },
787*9a19cd78SMatthias Ringwald         { 9.4516287e-01, 3.2659936e-01 }, { 9.4227680e-01, 3.3483492e-01 },
788*9a19cd78SMatthias Ringwald         { 9.3931898e-01, 3.4304499e-01 }, { 9.3628962e-01, 3.5122892e-01 },
789*9a19cd78SMatthias Ringwald         { 9.3318895e-01, 3.5938611e-01 }, { 9.3001722e-01, 3.6751594e-01 },
790*9a19cd78SMatthias Ringwald         { 9.2677467e-01, 3.7561777e-01 }, { 9.2346154e-01, 3.8369100e-01 },
791*9a19cd78SMatthias Ringwald         { 9.2007808e-01, 3.9173501e-01 }, { 9.1662456e-01, 3.9974919e-01 },
792*9a19cd78SMatthias Ringwald         { 9.1310123e-01, 4.0773292e-01 }, { 9.0950837e-01, 4.1568561e-01 },
793*9a19cd78SMatthias Ringwald         { 9.0584624e-01, 4.2360664e-01 }, { 9.0211513e-01, 4.3149541e-01 },
794*9a19cd78SMatthias Ringwald         { 8.9831532e-01, 4.3935132e-01 }, { 8.9444710e-01, 4.4717377e-01 },
795*9a19cd78SMatthias Ringwald         { 8.9051077e-01, 4.5496217e-01 }, { 8.8650662e-01, 4.6271592e-01 },
796*9a19cd78SMatthias Ringwald         { 8.8243495e-01, 4.7043443e-01 }, { 8.7829609e-01, 4.7811712e-01 },
797*9a19cd78SMatthias Ringwald         { 8.7409034e-01, 4.8576339e-01 }, { 8.6981803e-01, 4.9337268e-01 },
798*9a19cd78SMatthias Ringwald         { 8.6547947e-01, 5.0094439e-01 }, { 8.6107501e-01, 5.0847795e-01 },
799*9a19cd78SMatthias Ringwald         { 8.5660497e-01, 5.1597279e-01 }, { 8.5206970e-01, 5.2342834e-01 },
800*9a19cd78SMatthias Ringwald         { 8.4746954e-01, 5.3084403e-01 }, { 8.4280484e-01, 5.3821929e-01 },
801*9a19cd78SMatthias Ringwald         { 8.3807596e-01, 5.4555356e-01 }, { 8.3328326e-01, 5.5284629e-01 },
802*9a19cd78SMatthias Ringwald         { 8.2842709e-01, 5.6009691e-01 }, { 8.2350785e-01, 5.6730488e-01 },
803*9a19cd78SMatthias Ringwald         { 8.1852588e-01, 5.7446965e-01 }, { 8.1348159e-01, 5.8159067e-01 },
804*9a19cd78SMatthias Ringwald         { 8.0837534e-01, 5.8866740e-01 }, { 8.0320753e-01, 5.9569930e-01 },
805*9a19cd78SMatthias Ringwald         { 7.9797856e-01, 6.0268584e-01 }, { 7.9268881e-01, 6.0962648e-01 },
806*9a19cd78SMatthias Ringwald         { 7.8733870e-01, 6.1652070e-01 }, { 7.8192863e-01, 6.2336796e-01 },
807*9a19cd78SMatthias Ringwald         { 7.7645902e-01, 6.3016775e-01 }, { 7.7093027e-01, 6.3691955e-01 },
808*9a19cd78SMatthias Ringwald         { 7.6534281e-01, 6.4362285e-01 }, { 7.5969708e-01, 6.5027714e-01 },
809*9a19cd78SMatthias Ringwald         { 7.5399348e-01, 6.5688190e-01 }, { 7.4823247e-01, 6.6343664e-01 },
810*9a19cd78SMatthias Ringwald         { 7.4241448e-01, 6.6994085e-01 }, { 7.3653994e-01, 6.7639405e-01 },
811*9a19cd78SMatthias Ringwald         { 7.3060932e-01, 6.8279574e-01 }, { 7.2462306e-01, 6.8914543e-01 },
812*9a19cd78SMatthias Ringwald         { 7.1858162e-01, 6.9544264e-01 }, { 7.1248545e-01, 7.0168688e-01 },
813*9a19cd78SMatthias Ringwald         { 7.0633503e-01, 7.0787769e-01 }, { 7.0013081e-01, 7.1401460e-01 },
814*9a19cd78SMatthias Ringwald         { 6.9387328e-01, 7.2009713e-01 }, { 6.8756291e-01, 7.2612482e-01 },
815*9a19cd78SMatthias Ringwald         { 6.8120017e-01, 7.3209721e-01 }, { 6.7478556e-01, 7.3801385e-01 },
816*9a19cd78SMatthias Ringwald         { 6.6831956e-01, 7.4387429e-01 }, { 6.6180267e-01, 7.4967808e-01 },
817*9a19cd78SMatthias Ringwald         { 6.5523538e-01, 7.5542478e-01 }, { 6.4861819e-01, 7.6111395e-01 },
818*9a19cd78SMatthias Ringwald         { 6.4195160e-01, 7.6674516e-01 }, { 6.3523613e-01, 7.7231798e-01 },
819*9a19cd78SMatthias Ringwald         { 6.2847228e-01, 7.7783198e-01 }, { 6.2166057e-01, 7.8328675e-01 },
820*9a19cd78SMatthias Ringwald         { 6.1480152e-01, 7.8868187e-01 }, { 6.0789565e-01, 7.9401692e-01 },
821*9a19cd78SMatthias Ringwald         { 6.0094349e-01, 7.9929151e-01 }, { 5.9394556e-01, 8.0450523e-01 },
822*9a19cd78SMatthias Ringwald         { 5.8690240e-01, 8.0965769e-01 }, { 5.7981455e-01, 8.1474848e-01 },
823*9a19cd78SMatthias Ringwald         { 5.7268254e-01, 8.1977723e-01 }, { 5.6550692e-01, 8.2474355e-01 },
824*9a19cd78SMatthias Ringwald         { 5.5828823e-01, 8.2964706e-01 }, { 5.5102703e-01, 8.3448740e-01 },
825*9a19cd78SMatthias Ringwald         { 5.4372386e-01, 8.3926418e-01 }, { 5.3637929e-01, 8.4397705e-01 },
826*9a19cd78SMatthias Ringwald         { 5.2899387e-01, 8.4862564e-01 }, { 5.2156817e-01, 8.5320961e-01 },
827*9a19cd78SMatthias Ringwald         { 5.1410274e-01, 8.5772861e-01 }, { 5.0659817e-01, 8.6218229e-01 },
828*9a19cd78SMatthias Ringwald         { 4.9905502e-01, 8.6657030e-01 }, { 4.9147386e-01, 8.7089233e-01 },
829*9a19cd78SMatthias Ringwald         { 4.8385527e-01, 8.7514803e-01 }, { 4.7619984e-01, 8.7933709e-01 },
830*9a19cd78SMatthias Ringwald         { 4.6850814e-01, 8.8345918e-01 }, { 4.6078076e-01, 8.8751399e-01 },
831*9a19cd78SMatthias Ringwald         { 4.5301829e-01, 8.9150122e-01 }, { 4.4522133e-01, 8.9542056e-01 },
832*9a19cd78SMatthias Ringwald         { 4.3739045e-01, 8.9927170e-01 }, { 4.2952627e-01, 9.0305436e-01 },
833*9a19cd78SMatthias Ringwald         { 4.2162938e-01, 9.0676825e-01 }, { 4.1370038e-01, 9.1041309e-01 },
834*9a19cd78SMatthias Ringwald         { 4.0573988e-01, 9.1398859e-01 }, { 3.9774847e-01, 9.1749450e-01 },
835*9a19cd78SMatthias Ringwald         { 3.8972678e-01, 9.2093053e-01 }, { 3.8167541e-01, 9.2429643e-01 },
836*9a19cd78SMatthias Ringwald         { 3.7359497e-01, 9.2759194e-01 }, { 3.6548608e-01, 9.3081681e-01 },
837*9a19cd78SMatthias Ringwald         { 3.5734936e-01, 9.3397079e-01 }, { 3.4918542e-01, 9.3705365e-01 },
838*9a19cd78SMatthias Ringwald         { 3.4099489e-01, 9.4006515e-01 }, { 3.3277840e-01, 9.4300506e-01 },
839*9a19cd78SMatthias Ringwald         { 3.2453656e-01, 9.4587315e-01 }, { 3.1627001e-01, 9.4866922e-01 },
840*9a19cd78SMatthias Ringwald         { 3.0797937e-01, 9.5139304e-01 }, { 2.9966528e-01, 9.5404440e-01 },
841*9a19cd78SMatthias Ringwald         { 2.9132836e-01, 9.5662311e-01 }, { 2.8296927e-01, 9.5912898e-01 },
842*9a19cd78SMatthias Ringwald         { 2.7458862e-01, 9.6156180e-01 }, { 2.6618706e-01, 9.6392139e-01 },
843*9a19cd78SMatthias Ringwald         { 2.5776523e-01, 9.6620758e-01 }, { 2.4932377e-01, 9.6842019e-01 },
844*9a19cd78SMatthias Ringwald         { 2.4086332e-01, 9.7055904e-01 }, { 2.3238453e-01, 9.7262399e-01 },
845*9a19cd78SMatthias Ringwald         { 2.2388805e-01, 9.7461487e-01 }, { 2.1537451e-01, 9.7653153e-01 },
846*9a19cd78SMatthias Ringwald         { 2.0684457e-01, 9.7837382e-01 }, { 1.9829888e-01, 9.8014160e-01 },
847*9a19cd78SMatthias Ringwald         { 1.8973809e-01, 9.8183474e-01 }, { 1.8116285e-01, 9.8345311e-01 },
848*9a19cd78SMatthias Ringwald         { 1.7257382e-01, 9.8499659e-01 }, { 1.6397164e-01, 9.8646505e-01 },
849*9a19cd78SMatthias Ringwald         { 1.5535697e-01, 9.8785840e-01 }, { 1.4673047e-01, 9.8917651e-01 },
850*9a19cd78SMatthias Ringwald         { 1.3809280e-01, 9.9041929e-01 }, { 1.2944462e-01, 9.9158665e-01 },
851*9a19cd78SMatthias Ringwald         { 1.2078657e-01, 9.9267850e-01 }, { 1.1211933e-01, 9.9369475e-01 },
852*9a19cd78SMatthias Ringwald         { 1.0344355e-01, 9.9463533e-01 }, { 9.4759887e-02, 9.9550016e-01 },
853*9a19cd78SMatthias Ringwald         { 8.6069011e-02, 9.9628918e-01 }, { 7.7371581e-02, 9.9700233e-01 },
854*9a19cd78SMatthias Ringwald         { 6.8668259e-02, 9.9763955e-01 }, { 5.9959707e-02, 9.9820080e-01 },
855*9a19cd78SMatthias Ringwald         { 5.1246589e-02, 9.9868603e-01 }, { 4.2529569e-02, 9.9909521e-01 },
856*9a19cd78SMatthias Ringwald         { 3.3809310e-02, 9.9942830e-01 }, { 2.5086476e-02, 9.9968528e-01 },
857*9a19cd78SMatthias Ringwald         { 1.6361732e-02, 9.9986614e-01 }, { 7.6357413e-03, 9.9997085e-01 },
858*9a19cd78SMatthias Ringwald     }
859*9a19cd78SMatthias Ringwald };
860*9a19cd78SMatthias Ringwald 
861*9a19cd78SMatthias Ringwald static const struct lc3_mdct_rot_def mdct_rot_960 = {
862*9a19cd78SMatthias Ringwald     .n4 = 960/4, .w = (const struct lc3_complex []){
863*9a19cd78SMatthias Ringwald         { 9.9999967e-01, 8.1812300e-04 }, { 9.9997289e-01, 7.3630412e-03 },
864*9a19cd78SMatthias Ringwald         { 9.9990328e-01, 1.3907644e-02 }, { 9.9979084e-01, 2.0451651e-02 },
865*9a19cd78SMatthias Ringwald         { 9.9963557e-01, 2.6994782e-02 }, { 9.9943748e-01, 3.3536757e-02 },
866*9a19cd78SMatthias Ringwald         { 9.9919658e-01, 4.0077295e-02 }, { 9.9891288e-01, 4.6616116e-02 },
867*9a19cd78SMatthias Ringwald         { 9.9858638e-01, 5.3152941e-02 }, { 9.9821711e-01, 5.9687488e-02 },
868*9a19cd78SMatthias Ringwald         { 9.9780508e-01, 6.6219479e-02 }, { 9.9735031e-01, 7.2748633e-02 },
869*9a19cd78SMatthias Ringwald         { 9.9685281e-01, 7.9274670e-02 }, { 9.9631261e-01, 8.5797312e-02 },
870*9a19cd78SMatthias Ringwald         { 9.9572973e-01, 9.2316279e-02 }, { 9.9510420e-01, 9.8831291e-02 },
871*9a19cd78SMatthias Ringwald         { 9.9443605e-01, 1.0534207e-01 }, { 9.9372529e-01, 1.1184834e-01 },
872*9a19cd78SMatthias Ringwald         { 9.9297196e-01, 1.1834981e-01 }, { 9.9217610e-01, 1.2484622e-01 },
873*9a19cd78SMatthias Ringwald         { 9.9133774e-01, 1.3133727e-01 }, { 9.9045692e-01, 1.3782270e-01 },
874*9a19cd78SMatthias Ringwald         { 9.8953366e-01, 1.4430223e-01 }, { 9.8856802e-01, 1.5077558e-01 },
875*9a19cd78SMatthias Ringwald         { 9.8756003e-01, 1.5724246e-01 }, { 9.8650973e-01, 1.6370261e-01 },
876*9a19cd78SMatthias Ringwald         { 9.8541718e-01, 1.7015575e-01 }, { 9.8428242e-01, 1.7660160e-01 },
877*9a19cd78SMatthias Ringwald         { 9.8310549e-01, 1.8303989e-01 }, { 9.8188645e-01, 1.8947033e-01 },
878*9a19cd78SMatthias Ringwald         { 9.8062534e-01, 1.9589266e-01 }, { 9.7932224e-01, 2.0230660e-01 },
879*9a19cd78SMatthias Ringwald         { 9.7797718e-01, 2.0871187e-01 }, { 9.7659022e-01, 2.1510820e-01 },
880*9a19cd78SMatthias Ringwald         { 9.7516144e-01, 2.2149531e-01 }, { 9.7369088e-01, 2.2787294e-01 },
881*9a19cd78SMatthias Ringwald         { 9.7217861e-01, 2.3424080e-01 }, { 9.7062469e-01, 2.4059864e-01 },
882*9a19cd78SMatthias Ringwald         { 9.6902920e-01, 2.4694616e-01 }, { 9.6739220e-01, 2.5328311e-01 },
883*9a19cd78SMatthias Ringwald         { 9.6571376e-01, 2.5960920e-01 }, { 9.6399395e-01, 2.6592418e-01 },
884*9a19cd78SMatthias Ringwald         { 9.6223284e-01, 2.7222777e-01 }, { 9.6043052e-01, 2.7851969e-01 },
885*9a19cd78SMatthias Ringwald         { 9.5858705e-01, 2.8479968e-01 }, { 9.5670253e-01, 2.9106748e-01 },
886*9a19cd78SMatthias Ringwald         { 9.5477702e-01, 2.9732280e-01 }, { 9.5281061e-01, 3.0356539e-01 },
887*9a19cd78SMatthias Ringwald         { 9.5080338e-01, 3.0979497e-01 }, { 9.4875543e-01, 3.1601129e-01 },
888*9a19cd78SMatthias Ringwald         { 9.4666684e-01, 3.2221406e-01 }, { 9.4453769e-01, 3.2840304e-01 },
889*9a19cd78SMatthias Ringwald         { 9.4236808e-01, 3.3457794e-01 }, { 9.4015810e-01, 3.4073852e-01 },
890*9a19cd78SMatthias Ringwald         { 9.3790786e-01, 3.4688450e-01 }, { 9.3561743e-01, 3.5301562e-01 },
891*9a19cd78SMatthias Ringwald         { 9.3328693e-01, 3.5913161e-01 }, { 9.3091644e-01, 3.6523223e-01 },
892*9a19cd78SMatthias Ringwald         { 9.2850608e-01, 3.7131719e-01 }, { 9.2605595e-01, 3.7738626e-01 },
893*9a19cd78SMatthias Ringwald         { 9.2356614e-01, 3.8343915e-01 }, { 9.2103677e-01, 3.8947562e-01 },
894*9a19cd78SMatthias Ringwald         { 9.1846795e-01, 3.9549541e-01 }, { 9.1585979e-01, 4.0149825e-01 },
895*9a19cd78SMatthias Ringwald         { 9.1321239e-01, 4.0748390e-01 }, { 9.1052587e-01, 4.1345209e-01 },
896*9a19cd78SMatthias Ringwald         { 9.0780035e-01, 4.1940257e-01 }, { 9.0503595e-01, 4.2533508e-01 },
897*9a19cd78SMatthias Ringwald         { 9.0223277e-01, 4.3124938e-01 }, { 8.9939095e-01, 4.3714520e-01 },
898*9a19cd78SMatthias Ringwald         { 8.9651059e-01, 4.4302229e-01 }, { 8.9359184e-01, 4.4888041e-01 },
899*9a19cd78SMatthias Ringwald         { 8.9063481e-01, 4.5471930e-01 }, { 8.8763962e-01, 4.6053871e-01 },
900*9a19cd78SMatthias Ringwald         { 8.8460641e-01, 4.6633839e-01 }, { 8.8153531e-01, 4.7211810e-01 },
901*9a19cd78SMatthias Ringwald         { 8.7842644e-01, 4.7787758e-01 }, { 8.7527995e-01, 4.8361659e-01 },
902*9a19cd78SMatthias Ringwald         { 8.7209596e-01, 4.8933489e-01 }, { 8.6887462e-01, 4.9503222e-01 },
903*9a19cd78SMatthias Ringwald         { 8.6561605e-01, 5.0070835e-01 }, { 8.6232041e-01, 5.0636303e-01 },
904*9a19cd78SMatthias Ringwald         { 8.5898782e-01, 5.1199602e-01 }, { 8.5561844e-01, 5.1760707e-01 },
905*9a19cd78SMatthias Ringwald         { 8.5221241e-01, 5.2319595e-01 }, { 8.4876987e-01, 5.2876243e-01 },
906*9a19cd78SMatthias Ringwald         { 8.4529098e-01, 5.3430625e-01 }, { 8.4177587e-01, 5.3982718e-01 },
907*9a19cd78SMatthias Ringwald         { 8.3822471e-01, 5.4532499e-01 }, { 8.3463763e-01, 5.5079944e-01 },
908*9a19cd78SMatthias Ringwald         { 8.3101481e-01, 5.5625029e-01 }, { 8.2735639e-01, 5.6167732e-01 },
909*9a19cd78SMatthias Ringwald         { 8.2366252e-01, 5.6708028e-01 }, { 8.1993338e-01, 5.7245896e-01 },
910*9a19cd78SMatthias Ringwald         { 8.1616911e-01, 5.7781311e-01 }, { 8.1236987e-01, 5.8314251e-01 },
911*9a19cd78SMatthias Ringwald         { 8.0853584e-01, 5.8844693e-01 }, { 8.0466718e-01, 5.9372614e-01 },
912*9a19cd78SMatthias Ringwald         { 8.0076404e-01, 5.9897992e-01 }, { 7.9682660e-01, 6.0420805e-01 },
913*9a19cd78SMatthias Ringwald         { 7.9285503e-01, 6.0941029e-01 }, { 7.8884950e-01, 6.1458642e-01 },
914*9a19cd78SMatthias Ringwald         { 7.8481017e-01, 6.1973623e-01 }, { 7.8073723e-01, 6.2485949e-01 },
915*9a19cd78SMatthias Ringwald         { 7.7663084e-01, 6.2995598e-01 }, { 7.7249118e-01, 6.3502549e-01 },
916*9a19cd78SMatthias Ringwald         { 7.6831844e-01, 6.4006780e-01 }, { 7.6411277e-01, 6.4508268e-01 },
917*9a19cd78SMatthias Ringwald         { 7.5987438e-01, 6.5006994e-01 }, { 7.5560344e-01, 6.5502934e-01 },
918*9a19cd78SMatthias Ringwald         { 7.5130013e-01, 6.5996069e-01 }, { 7.4696464e-01, 6.6486377e-01 },
919*9a19cd78SMatthias Ringwald         { 7.4259715e-01, 6.6973837e-01 }, { 7.3819784e-01, 6.7458427e-01 },
920*9a19cd78SMatthias Ringwald         { 7.3376692e-01, 6.7940128e-01 }, { 7.2930457e-01, 6.8418919e-01 },
921*9a19cd78SMatthias Ringwald         { 7.2481097e-01, 6.8894779e-01 }, { 7.2028632e-01, 6.9367688e-01 },
922*9a19cd78SMatthias Ringwald         { 7.1573083e-01, 6.9837625e-01 }, { 7.1114467e-01, 7.0304571e-01 },
923*9a19cd78SMatthias Ringwald         { 7.0652804e-01, 7.0768504e-01 }, { 7.0188116e-01, 7.1229407e-01 },
924*9a19cd78SMatthias Ringwald         { 6.9720420e-01, 7.1687258e-01 }, { 6.9249738e-01, 7.2142039e-01 },
925*9a19cd78SMatthias Ringwald         { 6.8776090e-01, 7.2593729e-01 }, { 6.8299495e-01, 7.3042309e-01 },
926*9a19cd78SMatthias Ringwald         { 6.7819975e-01, 7.3487761e-01 }, { 6.7337550e-01, 7.3930064e-01 },
927*9a19cd78SMatthias Ringwald         { 6.6852240e-01, 7.4369201e-01 }, { 6.6364066e-01, 7.4805152e-01 },
928*9a19cd78SMatthias Ringwald         { 6.5873050e-01, 7.5237898e-01 }, { 6.5379211e-01, 7.5667422e-01 },
929*9a19cd78SMatthias Ringwald         { 6.4882573e-01, 7.6093704e-01 }, { 6.4383154e-01, 7.6516727e-01 },
930*9a19cd78SMatthias Ringwald         { 6.3880978e-01, 7.6936471e-01 }, { 6.3376065e-01, 7.7352921e-01 },
931*9a19cd78SMatthias Ringwald         { 6.2868438e-01, 7.7766056e-01 }, { 6.2358117e-01, 7.8175861e-01 },
932*9a19cd78SMatthias Ringwald         { 6.1845126e-01, 7.8582316e-01 }, { 6.1329485e-01, 7.8985406e-01 },
933*9a19cd78SMatthias Ringwald         { 6.0811216e-01, 7.9385112e-01 }, { 6.0290343e-01, 7.9781417e-01 },
934*9a19cd78SMatthias Ringwald         { 5.9766888e-01, 8.0174305e-01 }, { 5.9240872e-01, 8.0563758e-01 },
935*9a19cd78SMatthias Ringwald         { 5.8712318e-01, 8.0949760e-01 }, { 5.8181249e-01, 8.1332295e-01 },
936*9a19cd78SMatthias Ringwald         { 5.7647688e-01, 8.1711346e-01 }, { 5.7111658e-01, 8.2086896e-01 },
937*9a19cd78SMatthias Ringwald         { 5.6573181e-01, 8.2458930e-01 }, { 5.6032281e-01, 8.2827432e-01 },
938*9a19cd78SMatthias Ringwald         { 5.5488980e-01, 8.3192386e-01 }, { 5.4943303e-01, 8.3553776e-01 },
939*9a19cd78SMatthias Ringwald         { 5.4395272e-01, 8.3911587e-01 }, { 5.3844911e-01, 8.4265803e-01 },
940*9a19cd78SMatthias Ringwald         { 5.3292243e-01, 8.4616410e-01 }, { 5.2737292e-01, 8.4963392e-01 },
941*9a19cd78SMatthias Ringwald         { 5.2180083e-01, 8.5306735e-01 }, { 5.1620638e-01, 8.5646423e-01 },
942*9a19cd78SMatthias Ringwald         { 5.1058981e-01, 8.5982442e-01 }, { 5.0495138e-01, 8.6314779e-01 },
943*9a19cd78SMatthias Ringwald         { 4.9929132e-01, 8.6643418e-01 }, { 4.9360987e-01, 8.6968345e-01 },
944*9a19cd78SMatthias Ringwald         { 4.8790727e-01, 8.7289547e-01 }, { 4.8218377e-01, 8.7607009e-01 },
945*9a19cd78SMatthias Ringwald         { 4.7643962e-01, 8.7920719e-01 }, { 4.7067506e-01, 8.8230663e-01 },
946*9a19cd78SMatthias Ringwald         { 4.6489034e-01, 8.8536827e-01 }, { 4.5908570e-01, 8.8839199e-01 },
947*9a19cd78SMatthias Ringwald         { 4.5326139e-01, 8.9137765e-01 }, { 4.4741768e-01, 8.9432512e-01 },
948*9a19cd78SMatthias Ringwald         { 4.4155479e-01, 8.9723429e-01 }, { 4.3567299e-01, 9.0010502e-01 },
949*9a19cd78SMatthias Ringwald         { 4.2977253e-01, 9.0293719e-01 }, { 4.2385365e-01, 9.0573069e-01 },
950*9a19cd78SMatthias Ringwald         { 4.1791662e-01, 9.0848539e-01 }, { 4.1196169e-01, 9.1120117e-01 },
951*9a19cd78SMatthias Ringwald         { 4.0598911e-01, 9.1387791e-01 }, { 3.9999914e-01, 9.1651551e-01 },
952*9a19cd78SMatthias Ringwald         { 3.9399204e-01, 9.1911385e-01 }, { 3.8796806e-01, 9.2167282e-01 },
953*9a19cd78SMatthias Ringwald         { 3.8192746e-01, 9.2419231e-01 }, { 3.7587050e-01, 9.2667220e-01 },
954*9a19cd78SMatthias Ringwald         { 3.6979743e-01, 9.2911240e-01 }, { 3.6370853e-01, 9.3151280e-01 },
955*9a19cd78SMatthias Ringwald         { 3.5760405e-01, 9.3387330e-01 }, { 3.5148424e-01, 9.3619380e-01 },
956*9a19cd78SMatthias Ringwald         { 3.4534939e-01, 9.3847419e-01 }, { 3.3919973e-01, 9.4071438e-01 },
957*9a19cd78SMatthias Ringwald         { 3.3303555e-01, 9.4291427e-01 }, { 3.2685710e-01, 9.4507377e-01 },
958*9a19cd78SMatthias Ringwald         { 3.2066465e-01, 9.4719279e-01 }, { 3.1445847e-01, 9.4927123e-01 },
959*9a19cd78SMatthias Ringwald         { 3.0823881e-01, 9.5130901e-01 }, { 3.0200595e-01, 9.5330604e-01 },
960*9a19cd78SMatthias Ringwald         { 2.9576015e-01, 9.5526223e-01 }, { 2.8950169e-01, 9.5717750e-01 },
961*9a19cd78SMatthias Ringwald         { 2.8323082e-01, 9.5905177e-01 }, { 2.7694782e-01, 9.6088496e-01 },
962*9a19cd78SMatthias Ringwald         { 2.7065295e-01, 9.6267699e-01 }, { 2.6434649e-01, 9.6442777e-01 },
963*9a19cd78SMatthias Ringwald         { 2.5802871e-01, 9.6613725e-01 }, { 2.5169988e-01, 9.6780534e-01 },
964*9a19cd78SMatthias Ringwald         { 2.4536026e-01, 9.6943197e-01 }, { 2.3901013e-01, 9.7101707e-01 },
965*9a19cd78SMatthias Ringwald         { 2.3264977e-01, 9.7256058e-01 }, { 2.2627944e-01, 9.7406243e-01 },
966*9a19cd78SMatthias Ringwald         { 2.1989941e-01, 9.7552255e-01 }, { 2.1350997e-01, 9.7694089e-01 },
967*9a19cd78SMatthias Ringwald         { 2.0711138e-01, 9.7831737e-01 }, { 2.0070391e-01, 9.7965195e-01 },
968*9a19cd78SMatthias Ringwald         { 1.9428785e-01, 9.8094456e-01 }, { 1.8786347e-01, 9.8219515e-01 },
969*9a19cd78SMatthias Ringwald         { 1.8143104e-01, 9.8340367e-01 }, { 1.7499084e-01, 9.8457006e-01 },
970*9a19cd78SMatthias Ringwald         { 1.6854314e-01, 9.8569428e-01 }, { 1.6208822e-01, 9.8677627e-01 },
971*9a19cd78SMatthias Ringwald         { 1.5562636e-01, 9.8781599e-01 }, { 1.4915783e-01, 9.8881340e-01 },
972*9a19cd78SMatthias Ringwald         { 1.4268292e-01, 9.8976845e-01 }, { 1.3620189e-01, 9.9068110e-01 },
973*9a19cd78SMatthias Ringwald         { 1.2971502e-01, 9.9155132e-01 }, { 1.2322260e-01, 9.9237906e-01 },
974*9a19cd78SMatthias Ringwald         { 1.1672491e-01, 9.9316428e-01 }, { 1.1022221e-01, 9.9390697e-01 },
975*9a19cd78SMatthias Ringwald         { 1.0371479e-01, 9.9460708e-01 }, { 9.7202924e-02, 9.9526458e-01 },
976*9a19cd78SMatthias Ringwald         { 9.0686897e-02, 9.9587945e-01 }, { 8.4166986e-02, 9.9645166e-01 },
977*9a19cd78SMatthias Ringwald         { 7.7643468e-02, 9.9698119e-01 }, { 7.1116625e-02, 9.9746801e-01 },
978*9a19cd78SMatthias Ringwald         { 6.4586736e-02, 9.9791210e-01 }, { 5.8054080e-02, 9.9831344e-01 },
979*9a19cd78SMatthias Ringwald         { 5.1518937e-02, 9.9867202e-01 }, { 4.4981587e-02, 9.9898782e-01 },
980*9a19cd78SMatthias Ringwald         { 3.8442310e-02, 9.9926082e-01 }, { 3.1901387e-02, 9.9949102e-01 },
981*9a19cd78SMatthias Ringwald         { 2.5359097e-02, 9.9967841e-01 }, { 1.8815721e-02, 9.9982297e-01 },
982*9a19cd78SMatthias Ringwald         { 1.2271538e-02, 9.9992470e-01 }, { 5.7268303e-03, 9.9998360e-01 },
983*9a19cd78SMatthias Ringwald     }
984*9a19cd78SMatthias Ringwald };
985*9a19cd78SMatthias Ringwald 
986*9a19cd78SMatthias Ringwald const struct lc3_mdct_rot_def * lc3_mdct_rot[LC3_NUM_DT][LC3_NUM_SRATE] = {
987*9a19cd78SMatthias Ringwald     [LC3_DT_7M5] = { &mdct_rot_120, &mdct_rot_240, &mdct_rot_360,
988*9a19cd78SMatthias Ringwald                      &mdct_rot_480, &mdct_rot_720                },
989*9a19cd78SMatthias Ringwald     [LC3_DT_10M] = { &mdct_rot_160, &mdct_rot_320, &mdct_rot_480,
990*9a19cd78SMatthias Ringwald                      &mdct_rot_640, &mdct_rot_960                }
991*9a19cd78SMatthias Ringwald };
992*9a19cd78SMatthias Ringwald 
993*9a19cd78SMatthias Ringwald 
994*9a19cd78SMatthias Ringwald /**
995*9a19cd78SMatthias Ringwald  * Low delay MDCT windows (cf. 3.7.3)
996*9a19cd78SMatthias Ringwald  */
997*9a19cd78SMatthias Ringwald 
998*9a19cd78SMatthias Ringwald static const float mdct_win_10m_80[80+50] = {
999*9a19cd78SMatthias Ringwald     -7.07854671e-04, -2.09819773e-03, -4.52519808e-03, -8.23397633e-03,
1000*9a19cd78SMatthias Ringwald     -1.33771310e-02, -1.99972156e-02, -2.80090946e-02, -3.72150208e-02,
1001*9a19cd78SMatthias Ringwald     -4.73176826e-02, -5.79465483e-02, -6.86760675e-02, -7.90464744e-02,
1002*9a19cd78SMatthias Ringwald     -8.85970547e-02, -9.68830362e-02, -1.03496124e-01, -1.08076646e-01,
1003*9a19cd78SMatthias Ringwald     -1.10324226e-01, -1.09980985e-01, -1.06817214e-01, -1.00619042e-01,
1004*9a19cd78SMatthias Ringwald     -9.11645251e-02, -7.82061748e-02, -6.14668812e-02, -4.06336286e-02,
1005*9a19cd78SMatthias Ringwald     -1.53632952e-02,  1.47015507e-02,  4.98973651e-02,  9.05036926e-02,
1006*9a19cd78SMatthias Ringwald      1.36691102e-01,  1.88468639e-01,  2.45645680e-01,  3.07778908e-01,
1007*9a19cd78SMatthias Ringwald      3.74164237e-01,  4.43811480e-01,  5.15473546e-01,  5.87666172e-01,
1008*9a19cd78SMatthias Ringwald      6.58761977e-01,  7.27057670e-01,  7.90875299e-01,  8.48664336e-01,
1009*9a19cd78SMatthias Ringwald      8.99132024e-01,  9.41334815e-01,  9.74763483e-01,  9.99411473e-01,
1010*9a19cd78SMatthias Ringwald      1.01576037e+00,  1.02473616e+00,  1.02763429e+00,  1.02599149e+00,
1011*9a19cd78SMatthias Ringwald      1.02142721e+00,  1.01543986e+00,  1.00936693e+00,  1.00350816e+00,
1012*9a19cd78SMatthias Ringwald      9.98889821e-01,  9.95313390e-01,  9.92594392e-01,  9.90577196e-01,
1013*9a19cd78SMatthias Ringwald      9.89137162e-01,  9.88179075e-01,  9.87624927e-01,  9.87405628e-01,
1014*9a19cd78SMatthias Ringwald      9.87452485e-01,  9.87695113e-01,  9.88064062e-01,  9.88492687e-01,
1015*9a19cd78SMatthias Ringwald      9.88923003e-01,  9.89307497e-01,  9.89614633e-01,  9.89831927e-01,
1016*9a19cd78SMatthias Ringwald      9.89969310e-01,  9.90060335e-01,  9.90157502e-01,  9.90325529e-01,
1017*9a19cd78SMatthias Ringwald      9.90630379e-01,  9.91129889e-01,  9.91866549e-01,  9.92861973e-01,
1018*9a19cd78SMatthias Ringwald      9.94115607e-01,  9.95603378e-01,  9.97279311e-01,  9.99078484e-01,
1019*9a19cd78SMatthias Ringwald      1.00092237e+00,  1.00272811e+00,  1.00441604e+00,  1.00591922e+00,
1020*9a19cd78SMatthias Ringwald      1.00718935e+00,  1.00820015e+00,  1.00894949e+00,  1.00945824e+00,
1021*9a19cd78SMatthias Ringwald      1.00976898e+00,  1.00994034e+00,  1.01003945e+00,  1.01013232e+00,
1022*9a19cd78SMatthias Ringwald      1.01027252e+00,  1.01049435e+00,  1.01080807e+00,  1.01120107e+00,
1023*9a19cd78SMatthias Ringwald      1.01164127e+00,  1.01208013e+00,  1.01245818e+00,  1.01270696e+00,
1024*9a19cd78SMatthias Ringwald      1.01275501e+00,  1.01253013e+00,  1.01196233e+00,  1.01098214e+00,
1025*9a19cd78SMatthias Ringwald      1.00951244e+00,  1.00746086e+00,  1.00470868e+00,  1.00111141e+00,
1026*9a19cd78SMatthias Ringwald      9.96504102e-01,  9.90720000e-01,  9.82376587e-01,  9.70882175e-01,
1027*9a19cd78SMatthias Ringwald      9.54673298e-01,  9.32155386e-01,  9.01800368e-01,  8.62398408e-01,
1028*9a19cd78SMatthias Ringwald      8.13281737e-01,  7.54455197e-01,  6.86658072e-01,  6.11348804e-01,
1029*9a19cd78SMatthias Ringwald      5.30618165e-01,  4.47130985e-01,  3.63911468e-01,  2.84164703e-01,
1030*9a19cd78SMatthias Ringwald      2.11020945e-01,  1.47228797e-01,  9.48266535e-02,  5.48243661e-02,
1031*9a19cd78SMatthias Ringwald      2.70146141e-02,  9.99674359e-03,
1032*9a19cd78SMatthias Ringwald };
1033*9a19cd78SMatthias Ringwald 
1034*9a19cd78SMatthias Ringwald static const float mdct_win_10m_160[160+100] = {
1035*9a19cd78SMatthias Ringwald     -4.61989875e-04, -9.74716672e-04, -1.66447310e-03, -2.59710692e-03,
1036*9a19cd78SMatthias Ringwald     -3.80628516e-03, -5.32460872e-03, -7.17588528e-03, -9.38248086e-03,
1037*9a19cd78SMatthias Ringwald     -1.19527030e-02, -1.48952816e-02, -1.82066640e-02, -2.18757093e-02,
1038*9a19cd78SMatthias Ringwald     -2.58847194e-02, -3.02086274e-02, -3.48159779e-02, -3.96706799e-02,
1039*9a19cd78SMatthias Ringwald     -4.47269805e-02, -4.99422586e-02, -5.52633479e-02, -6.06371724e-02,
1040*9a19cd78SMatthias Ringwald     -6.60096152e-02, -7.13196627e-02, -7.65117823e-02, -8.15296401e-02,
1041*9a19cd78SMatthias Ringwald     -8.63113754e-02, -9.08041129e-02, -9.49537776e-02, -9.87073651e-02,
1042*9a19cd78SMatthias Ringwald     -1.02020268e-01, -1.04843883e-01, -1.07138231e-01, -1.08869014e-01,
1043*9a19cd78SMatthias Ringwald     -1.09996966e-01, -1.10489847e-01, -1.10322584e-01, -1.09462175e-01,
1044*9a19cd78SMatthias Ringwald     -1.07883429e-01, -1.05561251e-01, -1.02465016e-01, -9.85701457e-02,
1045*9a19cd78SMatthias Ringwald     -9.38468492e-02, -8.82630999e-02, -8.17879272e-02, -7.43878560e-02,
1046*9a19cd78SMatthias Ringwald     -6.60218980e-02, -5.66565564e-02, -4.62445689e-02, -3.47458578e-02,
1047*9a19cd78SMatthias Ringwald     -2.21158161e-02, -8.31042570e-03,  6.71769764e-03,  2.30064206e-02,
1048*9a19cd78SMatthias Ringwald      4.06010646e-02,  5.95323909e-02,  7.98335419e-02,  1.01523314e-01,
1049*9a19cd78SMatthias Ringwald      1.24617139e-01,  1.49115252e-01,  1.75006740e-01,  2.02269985e-01,
1050*9a19cd78SMatthias Ringwald      2.30865538e-01,  2.60736512e-01,  2.91814469e-01,  3.24009570e-01,
1051*9a19cd78SMatthias Ringwald      3.57217518e-01,  3.91314689e-01,  4.26157164e-01,  4.61592545e-01,
1052*9a19cd78SMatthias Ringwald      4.97447159e-01,  5.33532682e-01,  5.69654673e-01,  6.05608382e-01,
1053*9a19cd78SMatthias Ringwald      6.41183084e-01,  6.76165350e-01,  7.10340055e-01,  7.43494372e-01,
1054*9a19cd78SMatthias Ringwald      7.75428189e-01,  8.05943723e-01,  8.34858937e-01,  8.62010834e-01,
1055*9a19cd78SMatthias Ringwald      8.87259971e-01,  9.10486312e-01,  9.31596250e-01,  9.50522086e-01,
1056*9a19cd78SMatthias Ringwald      9.67236671e-01,  9.81739750e-01,  9.94055718e-01,  1.00424751e+00,
1057*9a19cd78SMatthias Ringwald      1.01240743e+00,  1.01865099e+00,  1.02311884e+00,  1.02597245e+00,
1058*9a19cd78SMatthias Ringwald      1.02739752e+00,  1.02758583e+00,  1.02673867e+00,  1.02506178e+00,
1059*9a19cd78SMatthias Ringwald      1.02275651e+00,  1.02000914e+00,  1.01699650e+00,  1.01391595e+00,
1060*9a19cd78SMatthias Ringwald      1.01104487e+00,  1.00777386e+00,  1.00484875e+00,  1.00224501e+00,
1061*9a19cd78SMatthias Ringwald      9.99939317e-01,  9.97905542e-01,  9.96120338e-01,  9.94559753e-01,
1062*9a19cd78SMatthias Ringwald      9.93203161e-01,  9.92029727e-01,  9.91023065e-01,  9.90166895e-01,
1063*9a19cd78SMatthias Ringwald      9.89448837e-01,  9.88855636e-01,  9.88377852e-01,  9.88005163e-01,
1064*9a19cd78SMatthias Ringwald      9.87729546e-01,  9.87541274e-01,  9.87432981e-01,  9.87394992e-01,
1065*9a19cd78SMatthias Ringwald      9.87419705e-01,  9.87497321e-01,  9.87620124e-01,  9.87778192e-01,
1066*9a19cd78SMatthias Ringwald      9.87963798e-01,  9.88167801e-01,  9.88383520e-01,  9.88602222e-01,
1067*9a19cd78SMatthias Ringwald      9.88818277e-01,  9.89024798e-01,  9.89217866e-01,  9.89392368e-01,
1068*9a19cd78SMatthias Ringwald      9.89546334e-01,  9.89677201e-01,  9.89785920e-01,  9.89872536e-01,
1069*9a19cd78SMatthias Ringwald      9.89941079e-01,  9.89994556e-01,  9.90039402e-01,  9.90081472e-01,
1070*9a19cd78SMatthias Ringwald      9.90129379e-01,  9.90190227e-01,  9.90273445e-01,  9.90386228e-01,
1071*9a19cd78SMatthias Ringwald      9.90537983e-01,  9.90734883e-01,  9.90984259e-01,  9.91290512e-01,
1072*9a19cd78SMatthias Ringwald      9.91658694e-01,  9.92090615e-01,  9.92588721e-01,  9.93151653e-01,
1073*9a19cd78SMatthias Ringwald      9.93779087e-01,  9.94466818e-01,  9.95211663e-01,  9.96006862e-01,
1074*9a19cd78SMatthias Ringwald      9.96846133e-01,  9.97720337e-01,  9.98621352e-01,  9.99538258e-01,
1075*9a19cd78SMatthias Ringwald      1.00046196e+00,  1.00138055e+00,  1.00228487e+00,  1.00316385e+00,
1076*9a19cd78SMatthias Ringwald      1.00400915e+00,  1.00481138e+00,  1.00556397e+00,  1.00625986e+00,
1077*9a19cd78SMatthias Ringwald      1.00689557e+00,  1.00746662e+00,  1.00797244e+00,  1.00841147e+00,
1078*9a19cd78SMatthias Ringwald      1.00878601e+00,  1.00909776e+00,  1.00935176e+00,  1.00955240e+00,
1079*9a19cd78SMatthias Ringwald      1.00970709e+00,  1.00982209e+00,  1.00990696e+00,  1.00996902e+00,
1080*9a19cd78SMatthias Ringwald      1.01001789e+00,  1.01006081e+00,  1.01010656e+00,  1.01016113e+00,
1081*9a19cd78SMatthias Ringwald      1.01023108e+00,  1.01031948e+00,  1.01043047e+00,  1.01056410e+00,
1082*9a19cd78SMatthias Ringwald      1.01072136e+00,  1.01089966e+00,  1.01109699e+00,  1.01130817e+00,
1083*9a19cd78SMatthias Ringwald      1.01152919e+00,  1.01175301e+00,  1.01197388e+00,  1.01218284e+00,
1084*9a19cd78SMatthias Ringwald      1.01237303e+00,  1.01253506e+00,  1.01266098e+00,  1.01274058e+00,
1085*9a19cd78SMatthias Ringwald      1.01276592e+00,  1.01272696e+00,  1.01261590e+00,  1.01242289e+00,
1086*9a19cd78SMatthias Ringwald      1.01214046e+00,  1.01175881e+00,  1.01126996e+00,  1.01066368e+00,
1087*9a19cd78SMatthias Ringwald      1.00993075e+00,  1.00905825e+00,  1.00803431e+00,  1.00684335e+00,
1088*9a19cd78SMatthias Ringwald      1.00547001e+00,  1.00389477e+00,  1.00209885e+00,  1.00006069e+00,
1089*9a19cd78SMatthias Ringwald      9.97760020e-01,  9.95174643e-01,  9.92286108e-01,  9.89075787e-01,
1090*9a19cd78SMatthias Ringwald      9.84736245e-01,  9.79861353e-01,  9.74137862e-01,  9.67333198e-01,
1091*9a19cd78SMatthias Ringwald      9.59253976e-01,  9.49698408e-01,  9.38463416e-01,  9.25356797e-01,
1092*9a19cd78SMatthias Ringwald      9.10198679e-01,  8.92833832e-01,  8.73143784e-01,  8.51042044e-01,
1093*9a19cd78SMatthias Ringwald      8.26483991e-01,  7.99468149e-01,  7.70043128e-01,  7.38302860e-01,
1094*9a19cd78SMatthias Ringwald      7.04381434e-01,  6.68461648e-01,  6.30775533e-01,  5.91579959e-01,
1095*9a19cd78SMatthias Ringwald      5.51170316e-01,  5.09891542e-01,  4.68101711e-01,  4.26177297e-01,
1096*9a19cd78SMatthias Ringwald      3.84517234e-01,  3.43522867e-01,  3.03600465e-01,  2.65143468e-01,
1097*9a19cd78SMatthias Ringwald      2.28528397e-01,  1.94102191e-01,  1.62173542e-01,  1.33001524e-01,
1098*9a19cd78SMatthias Ringwald      1.06784043e-01,  8.36505724e-02,  6.36518811e-02,  4.67653841e-02,
1099*9a19cd78SMatthias Ringwald      3.28807275e-02,  2.18305756e-02,  1.33638143e-02,  6.75812489e-03,
1100*9a19cd78SMatthias Ringwald };
1101*9a19cd78SMatthias Ringwald 
1102*9a19cd78SMatthias Ringwald static const float mdct_win_10m_240[240+150] = {
1103*9a19cd78SMatthias Ringwald     -3.61349642e-04, -7.07854671e-04, -1.07444364e-03, -1.53347854e-03,
1104*9a19cd78SMatthias Ringwald     -2.09819773e-03, -2.77842087e-03, -3.58412992e-03, -4.52519808e-03,
1105*9a19cd78SMatthias Ringwald     -5.60932724e-03, -6.84323454e-03, -8.23397633e-03, -9.78531476e-03,
1106*9a19cd78SMatthias Ringwald     -1.14988030e-02, -1.33771310e-02, -1.54218168e-02, -1.76297991e-02,
1107*9a19cd78SMatthias Ringwald     -1.99972156e-02, -2.25208056e-02, -2.51940630e-02, -2.80090946e-02,
1108*9a19cd78SMatthias Ringwald     -3.09576509e-02, -3.40299627e-02, -3.72150208e-02, -4.05005325e-02,
1109*9a19cd78SMatthias Ringwald     -4.38721922e-02, -4.73176826e-02, -5.08232534e-02, -5.43716664e-02,
1110*9a19cd78SMatthias Ringwald     -5.79465483e-02, -6.15342620e-02, -6.51170816e-02, -6.86760675e-02,
1111*9a19cd78SMatthias Ringwald     -7.21944781e-02, -7.56569598e-02, -7.90464744e-02, -8.23444256e-02,
1112*9a19cd78SMatthias Ringwald     -8.55332458e-02, -8.85970547e-02, -9.15209110e-02, -9.42884745e-02,
1113*9a19cd78SMatthias Ringwald     -9.68830362e-02, -9.92912326e-02, -1.01500847e-01, -1.03496124e-01,
1114*9a19cd78SMatthias Ringwald     -1.05263700e-01, -1.06793998e-01, -1.08076646e-01, -1.09099730e-01,
1115*9a19cd78SMatthias Ringwald     -1.09852449e-01, -1.10324226e-01, -1.10508462e-01, -1.10397741e-01,
1116*9a19cd78SMatthias Ringwald     -1.09980985e-01, -1.09249277e-01, -1.08197423e-01, -1.06817214e-01,
1117*9a19cd78SMatthias Ringwald     -1.05099580e-01, -1.03036011e-01, -1.00619042e-01, -9.78412002e-02,
1118*9a19cd78SMatthias Ringwald     -9.46930422e-02, -9.11645251e-02, -8.72464453e-02, -8.29304391e-02,
1119*9a19cd78SMatthias Ringwald     -7.82061748e-02, -7.30614243e-02, -6.74846818e-02, -6.14668812e-02,
1120*9a19cd78SMatthias Ringwald     -5.49949726e-02, -4.80544442e-02, -4.06336286e-02, -3.27204559e-02,
1121*9a19cd78SMatthias Ringwald     -2.43012258e-02, -1.53632952e-02, -5.89143427e-03,  4.12659586e-03,
1122*9a19cd78SMatthias Ringwald      1.47015507e-02,  2.58473819e-02,  3.75765277e-02,  4.98973651e-02,
1123*9a19cd78SMatthias Ringwald      6.28203403e-02,  7.63539773e-02,  9.05036926e-02,  1.05274712e-01,
1124*9a19cd78SMatthias Ringwald      1.20670347e-01,  1.36691102e-01,  1.53334389e-01,  1.70595471e-01,
1125*9a19cd78SMatthias Ringwald      1.88468639e-01,  2.06944996e-01,  2.26009300e-01,  2.45645680e-01,
1126*9a19cd78SMatthias Ringwald      2.65834602e-01,  2.86554381e-01,  3.07778908e-01,  3.29476944e-01,
1127*9a19cd78SMatthias Ringwald      3.51617148e-01,  3.74164237e-01,  3.97073959e-01,  4.20304305e-01,
1128*9a19cd78SMatthias Ringwald      4.43811480e-01,  4.67544229e-01,  4.91449863e-01,  5.15473546e-01,
1129*9a19cd78SMatthias Ringwald      5.39555764e-01,  5.63639982e-01,  5.87666172e-01,  6.11569531e-01,
1130*9a19cd78SMatthias Ringwald      6.35289059e-01,  6.58761977e-01,  6.81923097e-01,  7.04709282e-01,
1131*9a19cd78SMatthias Ringwald      7.27057670e-01,  7.48906896e-01,  7.70199019e-01,  7.90875299e-01,
1132*9a19cd78SMatthias Ringwald      8.10878869e-01,  8.30157914e-01,  8.48664336e-01,  8.66354816e-01,
1133*9a19cd78SMatthias Ringwald      8.83189685e-01,  8.99132024e-01,  9.14154056e-01,  9.28228255e-01,
1134*9a19cd78SMatthias Ringwald      9.41334815e-01,  9.53461939e-01,  9.64604825e-01,  9.74763483e-01,
1135*9a19cd78SMatthias Ringwald      9.83943539e-01,  9.92152910e-01,  9.99411473e-01,  1.00574608e+00,
1136*9a19cd78SMatthias Ringwald      1.01118397e+00,  1.01576037e+00,  1.01951507e+00,  1.02249094e+00,
1137*9a19cd78SMatthias Ringwald      1.02473616e+00,  1.02630410e+00,  1.02725098e+00,  1.02763429e+00,
1138*9a19cd78SMatthias Ringwald      1.02751106e+00,  1.02694280e+00,  1.02599149e+00,  1.02471615e+00,
1139*9a19cd78SMatthias Ringwald      1.02317598e+00,  1.02142721e+00,  1.01952157e+00,  1.01751012e+00,
1140*9a19cd78SMatthias Ringwald      1.01543986e+00,  1.01346092e+00,  1.01165490e+00,  1.00936693e+00,
1141*9a19cd78SMatthias Ringwald      1.00726318e+00,  1.00531319e+00,  1.00350816e+00,  1.00184079e+00,
1142*9a19cd78SMatthias Ringwald      1.00030393e+00,  9.98889821e-01,  9.97591528e-01,  9.96401528e-01,
1143*9a19cd78SMatthias Ringwald      9.95313390e-01,  9.94320108e-01,  9.93415896e-01,  9.92594392e-01,
1144*9a19cd78SMatthias Ringwald      9.91851028e-01,  9.91179799e-01,  9.90577196e-01,  9.90038105e-01,
1145*9a19cd78SMatthias Ringwald      9.89559439e-01,  9.89137162e-01,  9.88768437e-01,  9.88449792e-01,
1146*9a19cd78SMatthias Ringwald      9.88179075e-01,  9.87952836e-01,  9.87769137e-01,  9.87624927e-01,
1147*9a19cd78SMatthias Ringwald      9.87517995e-01,  9.87445813e-01,  9.87405628e-01,  9.87395112e-01,
1148*9a19cd78SMatthias Ringwald      9.87411537e-01,  9.87452485e-01,  9.87514989e-01,  9.87596889e-01,
1149*9a19cd78SMatthias Ringwald      9.87695113e-01,  9.87807582e-01,  9.87931200e-01,  9.88064062e-01,
1150*9a19cd78SMatthias Ringwald      9.88203257e-01,  9.88347108e-01,  9.88492687e-01,  9.88638659e-01,
1151*9a19cd78SMatthias Ringwald      9.88782558e-01,  9.88923003e-01,  9.89058172e-01,  9.89186767e-01,
1152*9a19cd78SMatthias Ringwald      9.89307497e-01,  9.89419640e-01,  9.89522076e-01,  9.89614633e-01,
1153*9a19cd78SMatthias Ringwald      9.89697035e-01,  9.89769260e-01,  9.89831927e-01,  9.89885257e-01,
1154*9a19cd78SMatthias Ringwald      9.89930764e-01,  9.89969310e-01,  9.90002569e-01,  9.90032156e-01,
1155*9a19cd78SMatthias Ringwald      9.90060335e-01,  9.90088981e-01,  9.90120659e-01,  9.90157502e-01,
1156*9a19cd78SMatthias Ringwald      9.90202395e-01,  9.90257541e-01,  9.90325529e-01,  9.90408791e-01,
1157*9a19cd78SMatthias Ringwald      9.90509649e-01,  9.90630379e-01,  9.90772711e-01,  9.90938744e-01,
1158*9a19cd78SMatthias Ringwald      9.91129889e-01,  9.91347632e-01,  9.91592856e-01,  9.91866549e-01,
1159*9a19cd78SMatthias Ringwald      9.92169132e-01,  9.92501085e-01,  9.92861973e-01,  9.93251918e-01,
1160*9a19cd78SMatthias Ringwald      9.93670021e-01,  9.94115607e-01,  9.94587315e-01,  9.95083740e-01,
1161*9a19cd78SMatthias Ringwald      9.95603378e-01,  9.96143992e-01,  9.96703453e-01,  9.97279311e-01,
1162*9a19cd78SMatthias Ringwald      9.97869086e-01,  9.98469709e-01,  9.99078484e-01,  9.99691901e-01,
1163*9a19cd78SMatthias Ringwald      1.00030819e+00,  1.00092237e+00,  1.00153264e+00,  1.00213546e+00,
1164*9a19cd78SMatthias Ringwald      1.00272811e+00,  1.00330745e+00,  1.00387093e+00,  1.00441604e+00,
1165*9a19cd78SMatthias Ringwald      1.00494055e+00,  1.00544214e+00,  1.00591922e+00,  1.00637030e+00,
1166*9a19cd78SMatthias Ringwald      1.00679393e+00,  1.00718935e+00,  1.00755557e+00,  1.00789267e+00,
1167*9a19cd78SMatthias Ringwald      1.00820015e+00,  1.00847842e+00,  1.00872788e+00,  1.00894949e+00,
1168*9a19cd78SMatthias Ringwald      1.00914411e+00,  1.00931322e+00,  1.00945824e+00,  1.00958128e+00,
1169*9a19cd78SMatthias Ringwald      1.00968409e+00,  1.00976898e+00,  1.00983831e+00,  1.00989455e+00,
1170*9a19cd78SMatthias Ringwald      1.00994034e+00,  1.00997792e+00,  1.01001023e+00,  1.01003945e+00,
1171*9a19cd78SMatthias Ringwald      1.01006820e+00,  1.01009839e+00,  1.01013232e+00,  1.01017166e+00,
1172*9a19cd78SMatthias Ringwald      1.01021810e+00,  1.01027252e+00,  1.01033649e+00,  1.01041022e+00,
1173*9a19cd78SMatthias Ringwald      1.01049435e+00,  1.01058887e+00,  1.01069350e+00,  1.01080807e+00,
1174*9a19cd78SMatthias Ringwald      1.01093144e+00,  1.01106288e+00,  1.01120107e+00,  1.01134470e+00,
1175*9a19cd78SMatthias Ringwald      1.01149190e+00,  1.01164127e+00,  1.01179028e+00,  1.01193757e+00,
1176*9a19cd78SMatthias Ringwald      1.01208013e+00,  1.01221624e+00,  1.01234291e+00,  1.01245818e+00,
1177*9a19cd78SMatthias Ringwald      1.01255888e+00,  1.01264286e+00,  1.01270696e+00,  1.01274895e+00,
1178*9a19cd78SMatthias Ringwald      1.01276580e+00,  1.01275501e+00,  1.01271380e+00,  1.01263978e+00,
1179*9a19cd78SMatthias Ringwald      1.01253013e+00,  1.01238231e+00,  1.01219407e+00,  1.01196233e+00,
1180*9a19cd78SMatthias Ringwald      1.01168517e+00,  1.01135914e+00,  1.01098214e+00,  1.01055072e+00,
1181*9a19cd78SMatthias Ringwald      1.01006213e+00,  1.00951244e+00,  1.00889869e+00,  1.00821592e+00,
1182*9a19cd78SMatthias Ringwald      1.00746086e+00,  1.00662774e+00,  1.00571234e+00,  1.00470868e+00,
1183*9a19cd78SMatthias Ringwald      1.00361147e+00,  1.00241429e+00,  1.00111141e+00,  9.99696165e-01,
1184*9a19cd78SMatthias Ringwald      9.98162595e-01,  9.96504102e-01,  9.94714888e-01,  9.92789191e-01,
1185*9a19cd78SMatthias Ringwald      9.90720000e-01,  9.88479371e-01,  9.85534766e-01,  9.82376587e-01,
1186*9a19cd78SMatthias Ringwald      9.78974733e-01,  9.75162381e-01,  9.70882175e-01,  9.66080552e-01,
1187*9a19cd78SMatthias Ringwald      9.60697640e-01,  9.54673298e-01,  9.47947935e-01,  9.40460905e-01,
1188*9a19cd78SMatthias Ringwald      9.32155386e-01,  9.22977548e-01,  9.12874535e-01,  9.01800368e-01,
1189*9a19cd78SMatthias Ringwald      8.89716328e-01,  8.76590897e-01,  8.62398408e-01,  8.47120080e-01,
1190*9a19cd78SMatthias Ringwald      8.30747973e-01,  8.13281737e-01,  7.94729145e-01,  7.75110884e-01,
1191*9a19cd78SMatthias Ringwald      7.54455197e-01,  7.32796355e-01,  7.10179084e-01,  6.86658072e-01,
1192*9a19cd78SMatthias Ringwald      6.62296243e-01,  6.37168412e-01,  6.11348804e-01,  5.84920660e-01,
1193*9a19cd78SMatthias Ringwald      5.57974743e-01,  5.30618165e-01,  5.02952396e-01,  4.75086883e-01,
1194*9a19cd78SMatthias Ringwald      4.47130985e-01,  4.19204992e-01,  3.91425291e-01,  3.63911468e-01,
1195*9a19cd78SMatthias Ringwald      3.36783777e-01,  3.10162784e-01,  2.84164703e-01,  2.58903371e-01,
1196*9a19cd78SMatthias Ringwald      2.34488060e-01,  2.11020945e-01,  1.88599764e-01,  1.67310081e-01,
1197*9a19cd78SMatthias Ringwald      1.47228797e-01,  1.28422307e-01,  1.10942255e-01,  9.48266535e-02,
1198*9a19cd78SMatthias Ringwald      8.00991437e-02,  6.67676585e-02,  5.48243661e-02,  4.42458885e-02,
1199*9a19cd78SMatthias Ringwald      3.49936100e-02,  2.70146141e-02,  2.02437018e-02,  1.46079676e-02,
1200*9a19cd78SMatthias Ringwald      9.99674359e-03,  5.30523510e-03,
1201*9a19cd78SMatthias Ringwald };
1202*9a19cd78SMatthias Ringwald 
1203*9a19cd78SMatthias Ringwald static const float mdct_win_10m_320[320+200] = {
1204*9a19cd78SMatthias Ringwald     -3.02115349e-04, -5.86773749e-04, -8.36650400e-04, -1.12663536e-03,
1205*9a19cd78SMatthias Ringwald     -1.47049294e-03, -1.87347339e-03, -2.33929236e-03, -2.87200807e-03,
1206*9a19cd78SMatthias Ringwald     -3.47625639e-03, -4.15596382e-03, -4.91456379e-03, -5.75517250e-03,
1207*9a19cd78SMatthias Ringwald     -6.68062338e-03, -7.69381692e-03, -8.79676075e-03, -9.99050307e-03,
1208*9a19cd78SMatthias Ringwald     -1.12757412e-02, -1.26533415e-02, -1.41243899e-02, -1.56888962e-02,
1209*9a19cd78SMatthias Ringwald     -1.73451209e-02, -1.90909737e-02, -2.09254671e-02, -2.28468479e-02,
1210*9a19cd78SMatthias Ringwald     -2.48520772e-02, -2.69374670e-02, -2.90995249e-02, -3.13350463e-02,
1211*9a19cd78SMatthias Ringwald     -3.36396073e-02, -3.60082097e-02, -3.84360174e-02, -4.09174603e-02,
1212*9a19cd78SMatthias Ringwald     -4.34465489e-02, -4.60178672e-02, -4.86259851e-02, -5.12647420e-02,
1213*9a19cd78SMatthias Ringwald     -5.39264475e-02, -5.66038431e-02, -5.92911675e-02, -6.19826820e-02,
1214*9a19cd78SMatthias Ringwald     -6.46702555e-02, -6.73454222e-02, -7.00009902e-02, -7.26305701e-02,
1215*9a19cd78SMatthias Ringwald     -7.52278496e-02, -7.77852594e-02, -8.02948025e-02, -8.27492454e-02,
1216*9a19cd78SMatthias Ringwald     -8.51412546e-02, -8.74637912e-02, -8.97106934e-02, -9.18756408e-02,
1217*9a19cd78SMatthias Ringwald     -9.39517698e-02, -9.59313774e-02, -9.78084326e-02, -9.95785130e-02,
1218*9a19cd78SMatthias Ringwald     -1.01236117e-01, -1.02774104e-01, -1.04186122e-01, -1.05468025e-01,
1219*9a19cd78SMatthias Ringwald     -1.06616088e-01, -1.07625538e-01, -1.08491230e-01, -1.09208742e-01,
1220*9a19cd78SMatthias Ringwald     -1.09773615e-01, -1.10180886e-01, -1.10427188e-01, -1.10510836e-01,
1221*9a19cd78SMatthias Ringwald     -1.10428147e-01, -1.10173922e-01, -1.09743736e-01, -1.09135313e-01,
1222*9a19cd78SMatthias Ringwald     -1.08346734e-01, -1.07373994e-01, -1.06213016e-01, -1.04860615e-01,
1223*9a19cd78SMatthias Ringwald     -1.03313240e-01, -1.01567316e-01, -9.96200551e-02, -9.74680323e-02,
1224*9a19cd78SMatthias Ringwald     -9.51072362e-02, -9.25330338e-02, -8.97412522e-02, -8.67287769e-02,
1225*9a19cd78SMatthias Ringwald     -8.34921384e-02, -8.00263990e-02, -7.63267954e-02, -7.23880616e-02,
1226*9a19cd78SMatthias Ringwald     -6.82057680e-02, -6.37761143e-02, -5.90938600e-02, -5.41531632e-02,
1227*9a19cd78SMatthias Ringwald     -4.89481272e-02, -4.34734711e-02, -3.77246130e-02, -3.16958761e-02,
1228*9a19cd78SMatthias Ringwald     -2.53817983e-02, -1.87768910e-02, -1.18746138e-02, -4.66909925e-03,
1229*9a19cd78SMatthias Ringwald      2.84409675e-03,  1.06697612e-02,  1.88135595e-02,  2.72815601e-02,
1230*9a19cd78SMatthias Ringwald      3.60781047e-02,  4.52070276e-02,  5.46723880e-02,  6.44786605e-02,
1231*9a19cd78SMatthias Ringwald      7.46286220e-02,  8.51249057e-02,  9.59698399e-02,  1.07165078e-01,
1232*9a19cd78SMatthias Ringwald      1.18711585e-01,  1.30610107e-01,  1.42859645e-01,  1.55458473e-01,
1233*9a19cd78SMatthias Ringwald      1.68404161e-01,  1.81694789e-01,  1.95327388e-01,  2.09296321e-01,
1234*9a19cd78SMatthias Ringwald      2.23594564e-01,  2.38216022e-01,  2.53152972e-01,  2.68396157e-01,
1235*9a19cd78SMatthias Ringwald      2.83936139e-01,  2.99762426e-01,  3.15861908e-01,  3.32221055e-01,
1236*9a19cd78SMatthias Ringwald      3.48826468e-01,  3.65664038e-01,  3.82715297e-01,  3.99961186e-01,
1237*9a19cd78SMatthias Ringwald      4.17384327e-01,  4.34966962e-01,  4.52687640e-01,  4.70524201e-01,
1238*9a19cd78SMatthias Ringwald      4.88453925e-01,  5.06454555e-01,  5.24500675e-01,  5.42567437e-01,
1239*9a19cd78SMatthias Ringwald      5.60631204e-01,  5.78667265e-01,  5.96647704e-01,  6.14545890e-01,
1240*9a19cd78SMatthias Ringwald      6.32336194e-01,  6.49992632e-01,  6.67487403e-01,  6.84793267e-01,
1241*9a19cd78SMatthias Ringwald      7.01883546e-01,  7.18732254e-01,  7.35312821e-01,  7.51600199e-01,
1242*9a19cd78SMatthias Ringwald      7.67569925e-01,  7.83197457e-01,  7.98458386e-01,  8.13329535e-01,
1243*9a19cd78SMatthias Ringwald      8.27789227e-01,  8.41817856e-01,  8.55396130e-01,  8.68506898e-01,
1244*9a19cd78SMatthias Ringwald      8.81133444e-01,  8.93259678e-01,  9.04874884e-01,  9.15965761e-01,
1245*9a19cd78SMatthias Ringwald      9.26521530e-01,  9.36533999e-01,  9.45997703e-01,  9.54908841e-01,
1246*9a19cd78SMatthias Ringwald      9.63265812e-01,  9.71068890e-01,  9.78320416e-01,  9.85022676e-01,
1247*9a19cd78SMatthias Ringwald      9.91179208e-01,  9.96798994e-01,  1.00189402e+00,  1.00647434e+00,
1248*9a19cd78SMatthias Ringwald      1.01055206e+00,  1.01414254e+00,  1.01726259e+00,  1.01992884e+00,
1249*9a19cd78SMatthias Ringwald      1.02215987e+00,  1.02397632e+00,  1.02540073e+00,  1.02645534e+00,
1250*9a19cd78SMatthias Ringwald      1.02716451e+00,  1.02755273e+00,  1.02764446e+00,  1.02746325e+00,
1251*9a19cd78SMatthias Ringwald      1.02703590e+00,  1.02638907e+00,  1.02554820e+00,  1.02453713e+00,
1252*9a19cd78SMatthias Ringwald      1.02338080e+00,  1.02210370e+00,  1.02072836e+00,  1.01927533e+00,
1253*9a19cd78SMatthias Ringwald      1.01776518e+00,  1.01621736e+00,  1.01466531e+00,  1.01324907e+00,
1254*9a19cd78SMatthias Ringwald      1.01194801e+00,  1.01018909e+00,  1.00855796e+00,  1.00701129e+00,
1255*9a19cd78SMatthias Ringwald      1.00554876e+00,  1.00416842e+00,  1.00286727e+00,  1.00164177e+00,
1256*9a19cd78SMatthias Ringwald      1.00048907e+00,  9.99406080e-01,  9.98389887e-01,  9.97437085e-01,
1257*9a19cd78SMatthias Ringwald      9.96544484e-01,  9.95709855e-01,  9.94930241e-01,  9.94202405e-01,
1258*9a19cd78SMatthias Ringwald      9.93524160e-01,  9.92893043e-01,  9.92306810e-01,  9.91763378e-01,
1259*9a19cd78SMatthias Ringwald      9.91259764e-01,  9.90795450e-01,  9.90367789e-01,  9.89975161e-01,
1260*9a19cd78SMatthias Ringwald      9.89616034e-01,  9.89289016e-01,  9.88992851e-01,  9.88726033e-01,
1261*9a19cd78SMatthias Ringwald      9.88486872e-01,  9.88275104e-01,  9.88089217e-01,  9.87927711e-01,
1262*9a19cd78SMatthias Ringwald      9.87789826e-01,  9.87674344e-01,  9.87580750e-01,  9.87507202e-01,
1263*9a19cd78SMatthias Ringwald      9.87452945e-01,  9.87416974e-01,  9.87398469e-01,  9.87395830e-01,
1264*9a19cd78SMatthias Ringwald      9.87408003e-01,  9.87434340e-01,  9.87473624e-01,  9.87524314e-01,
1265*9a19cd78SMatthias Ringwald      9.87585620e-01,  9.87656379e-01,  9.87735892e-01,  9.87822558e-01,
1266*9a19cd78SMatthias Ringwald      9.87915097e-01,  9.88013273e-01,  9.88115695e-01,  9.88221131e-01,
1267*9a19cd78SMatthias Ringwald      9.88328903e-01,  9.88437831e-01,  9.88547679e-01,  9.88656841e-01,
1268*9a19cd78SMatthias Ringwald      9.88764587e-01,  9.88870854e-01,  9.88974432e-01,  9.89074727e-01,
1269*9a19cd78SMatthias Ringwald      9.89171004e-01,  9.89263102e-01,  9.89350722e-01,  9.89433065e-01,
1270*9a19cd78SMatthias Ringwald      9.89509692e-01,  9.89581081e-01,  9.89646747e-01,  9.89706737e-01,
1271*9a19cd78SMatthias Ringwald      9.89760693e-01,  9.89809448e-01,  9.89853013e-01,  9.89891471e-01,
1272*9a19cd78SMatthias Ringwald      9.89925419e-01,  9.89955420e-01,  9.89982449e-01,  9.90006512e-01,
1273*9a19cd78SMatthias Ringwald      9.90028481e-01,  9.90049748e-01,  9.90070956e-01,  9.90092836e-01,
1274*9a19cd78SMatthias Ringwald      9.90116392e-01,  9.90142748e-01,  9.90173428e-01,  9.90208733e-01,
1275*9a19cd78SMatthias Ringwald      9.90249864e-01,  9.90298369e-01,  9.90354850e-01,  9.90420508e-01,
1276*9a19cd78SMatthias Ringwald      9.90495930e-01,  9.90582515e-01,  9.90681257e-01,  9.90792209e-01,
1277*9a19cd78SMatthias Ringwald      9.90916546e-01,  9.91055074e-01,  9.91208461e-01,  9.91376861e-01,
1278*9a19cd78SMatthias Ringwald      9.91560583e-01,  9.91760421e-01,  9.91976718e-01,  9.92209110e-01,
1279*9a19cd78SMatthias Ringwald      9.92457914e-01,  9.92723123e-01,  9.93004954e-01,  9.93302728e-01,
1280*9a19cd78SMatthias Ringwald      9.93616108e-01,  9.93945371e-01,  9.94289515e-01,  9.94648168e-01,
1281*9a19cd78SMatthias Ringwald      9.95020303e-01,  9.95405817e-01,  9.95803871e-01,  9.96213027e-01,
1282*9a19cd78SMatthias Ringwald      9.96632469e-01,  9.97061531e-01,  9.97499058e-01,  9.97943743e-01,
1283*9a19cd78SMatthias Ringwald      9.98394057e-01,  9.98849312e-01,  9.99308343e-01,  9.99768922e-01,
1284*9a19cd78SMatthias Ringwald      1.00023113e+00,  1.00069214e+00,  1.00115201e+00,  1.00160853e+00,
1285*9a19cd78SMatthias Ringwald      1.00206049e+00,  1.00250721e+00,  1.00294713e+00,  1.00337891e+00,
1286*9a19cd78SMatthias Ringwald      1.00380137e+00,  1.00421381e+00,  1.00461539e+00,  1.00500462e+00,
1287*9a19cd78SMatthias Ringwald      1.00538063e+00,  1.00574328e+00,  1.00609151e+00,  1.00642491e+00,
1288*9a19cd78SMatthias Ringwald      1.00674243e+00,  1.00704432e+00,  1.00733022e+00,  1.00759940e+00,
1289*9a19cd78SMatthias Ringwald      1.00785206e+00,  1.00808818e+00,  1.00830803e+00,  1.00851125e+00,
1290*9a19cd78SMatthias Ringwald      1.00869814e+00,  1.00886952e+00,  1.00902566e+00,  1.00916672e+00,
1291*9a19cd78SMatthias Ringwald      1.00929336e+00,  1.00940640e+00,  1.00950702e+00,  1.00959526e+00,
1292*9a19cd78SMatthias Ringwald      1.00967215e+00,  1.00973908e+00,  1.00979668e+00,  1.00984614e+00,
1293*9a19cd78SMatthias Ringwald      1.00988808e+00,  1.00992409e+00,  1.00995538e+00,  1.00998227e+00,
1294*9a19cd78SMatthias Ringwald      1.01000630e+00,  1.01002862e+00,  1.01005025e+00,  1.01007195e+00,
1295*9a19cd78SMatthias Ringwald      1.01009437e+00,  1.01011892e+00,  1.01014650e+00,  1.01017711e+00,
1296*9a19cd78SMatthias Ringwald      1.01021176e+00,  1.01025100e+00,  1.01029547e+00,  1.01034523e+00,
1297*9a19cd78SMatthias Ringwald      1.01040032e+00,  1.01046156e+00,  1.01052862e+00,  1.01060152e+00,
1298*9a19cd78SMatthias Ringwald      1.01067979e+00,  1.01076391e+00,  1.01085343e+00,  1.01094755e+00,
1299*9a19cd78SMatthias Ringwald      1.01104595e+00,  1.01114849e+00,  1.01125440e+00,  1.01136308e+00,
1300*9a19cd78SMatthias Ringwald      1.01147330e+00,  1.01158500e+00,  1.01169742e+00,  1.01180892e+00,
1301*9a19cd78SMatthias Ringwald      1.01191926e+00,  1.01202724e+00,  1.01213215e+00,  1.01223273e+00,
1302*9a19cd78SMatthias Ringwald      1.01232756e+00,  1.01241638e+00,  1.01249789e+00,  1.01257043e+00,
1303*9a19cd78SMatthias Ringwald      1.01263330e+00,  1.01268528e+00,  1.01272556e+00,  1.01275258e+00,
1304*9a19cd78SMatthias Ringwald      1.01276506e+00,  1.01276236e+00,  1.01274338e+00,  1.01270648e+00,
1305*9a19cd78SMatthias Ringwald      1.01265084e+00,  1.01257543e+00,  1.01247947e+00,  1.01236111e+00,
1306*9a19cd78SMatthias Ringwald      1.01221981e+00,  1.01205436e+00,  1.01186400e+00,  1.01164722e+00,
1307*9a19cd78SMatthias Ringwald      1.01140252e+00,  1.01112965e+00,  1.01082695e+00,  1.01049292e+00,
1308*9a19cd78SMatthias Ringwald      1.01012635e+00,  1.00972589e+00,  1.00929006e+00,  1.00881730e+00,
1309*9a19cd78SMatthias Ringwald      1.00830503e+00,  1.00775283e+00,  1.00715783e+00,  1.00651805e+00,
1310*9a19cd78SMatthias Ringwald      1.00583140e+00,  1.00509559e+00,  1.00430863e+00,  1.00346750e+00,
1311*9a19cd78SMatthias Ringwald      1.00256950e+00,  1.00161271e+00,  1.00059427e+00,  9.99511170e-01,
1312*9a19cd78SMatthias Ringwald      9.98360922e-01,  9.97140929e-01,  9.95848886e-01,  9.94481854e-01,
1313*9a19cd78SMatthias Ringwald      9.93037528e-01,  9.91514656e-01,  9.89913680e-01,  9.88193062e-01,
1314*9a19cd78SMatthias Ringwald      9.85942259e-01,  9.83566790e-01,  9.81142303e-01,  9.78521444e-01,
1315*9a19cd78SMatthias Ringwald      9.75663604e-01,  9.72545344e-01,  9.69145663e-01,  9.65440618e-01,
1316*9a19cd78SMatthias Ringwald      9.61404362e-01,  9.57011307e-01,  9.52236767e-01,  9.47054884e-01,
1317*9a19cd78SMatthias Ringwald      9.41440374e-01,  9.35369161e-01,  9.28819009e-01,  9.21766289e-01,
1318*9a19cd78SMatthias Ringwald      9.14189628e-01,  9.06069468e-01,  8.97389168e-01,  8.88133200e-01,
1319*9a19cd78SMatthias Ringwald      8.78289389e-01,  8.67846957e-01,  8.56797064e-01,  8.45133465e-01,
1320*9a19cd78SMatthias Ringwald      8.32854281e-01,  8.19959478e-01,  8.06451101e-01,  7.92334648e-01,
1321*9a19cd78SMatthias Ringwald      7.77620449e-01,  7.62320618e-01,  7.46448649e-01,  7.30020573e-01,
1322*9a19cd78SMatthias Ringwald      7.13056738e-01,  6.95580544e-01,  6.77617323e-01,  6.59195531e-01,
1323*9a19cd78SMatthias Ringwald      6.40348643e-01,  6.21107220e-01,  6.01504928e-01,  5.81578761e-01,
1324*9a19cd78SMatthias Ringwald      5.61367451e-01,  5.40918863e-01,  5.20273683e-01,  4.99478073e-01,
1325*9a19cd78SMatthias Ringwald      4.78577418e-01,  4.57617260e-01,  4.36649021e-01,  4.15722146e-01,
1326*9a19cd78SMatthias Ringwald      3.94885659e-01,  3.74190319e-01,  3.53686890e-01,  3.33426002e-01,
1327*9a19cd78SMatthias Ringwald      3.13458647e-01,  2.93833790e-01,  2.74599264e-01,  2.55803064e-01,
1328*9a19cd78SMatthias Ringwald      2.37490219e-01,  2.19703603e-01,  2.02485542e-01,  1.85874992e-01,
1329*9a19cd78SMatthias Ringwald      1.69906780e-01,  1.54613227e-01,  1.40023821e-01,  1.26163740e-01,
1330*9a19cd78SMatthias Ringwald      1.13053443e-01,  1.00708497e-01,  8.91402439e-02,  7.83561210e-02,
1331*9a19cd78SMatthias Ringwald      6.83582123e-02,  5.91421154e-02,  5.06989301e-02,  4.30171776e-02,
1332*9a19cd78SMatthias Ringwald      3.60802073e-02,  2.98631634e-02,  2.43372266e-02,  1.94767524e-02,
1333*9a19cd78SMatthias Ringwald      1.52571017e-02,  1.16378749e-02,  8.43308778e-03,  4.44966900e-03,
1334*9a19cd78SMatthias Ringwald };
1335*9a19cd78SMatthias Ringwald 
1336*9a19cd78SMatthias Ringwald static const float mdct_win_10m_480[480+300] = {
1337*9a19cd78SMatthias Ringwald     -2.35303215e-04, -4.61989875e-04, -6.26293154e-04, -7.92918043e-04,
1338*9a19cd78SMatthias Ringwald     -9.74716672e-04, -1.18025689e-03, -1.40920904e-03, -1.66447310e-03,
1339*9a19cd78SMatthias Ringwald     -1.94659161e-03, -2.25708173e-03, -2.59710692e-03, -2.96760762e-03,
1340*9a19cd78SMatthias Ringwald     -3.37045488e-03, -3.80628516e-03, -4.27687377e-03, -4.78246990e-03,
1341*9a19cd78SMatthias Ringwald     -5.32460872e-03, -5.90340381e-03, -6.52041973e-03, -7.17588528e-03,
1342*9a19cd78SMatthias Ringwald     -7.87142282e-03, -8.60658604e-03, -9.38248086e-03, -1.01982718e-02,
1343*9a19cd78SMatthias Ringwald     -1.10552055e-02, -1.19527030e-02, -1.28920591e-02, -1.38726348e-02,
1344*9a19cd78SMatthias Ringwald     -1.48952816e-02, -1.59585662e-02, -1.70628856e-02, -1.82066640e-02,
1345*9a19cd78SMatthias Ringwald     -1.93906598e-02, -2.06135542e-02, -2.18757093e-02, -2.31752632e-02,
1346*9a19cd78SMatthias Ringwald     -2.45122745e-02, -2.58847194e-02, -2.72926374e-02, -2.87339090e-02,
1347*9a19cd78SMatthias Ringwald     -3.02086274e-02, -3.17144037e-02, -3.32509886e-02, -3.48159779e-02,
1348*9a19cd78SMatthias Ringwald     -3.64089241e-02, -3.80274232e-02, -3.96706799e-02, -4.13357542e-02,
1349*9a19cd78SMatthias Ringwald     -4.30220337e-02, -4.47269805e-02, -4.64502229e-02, -4.81889149e-02,
1350*9a19cd78SMatthias Ringwald     -4.99422586e-02, -5.17069080e-02, -5.34816204e-02, -5.52633479e-02,
1351*9a19cd78SMatthias Ringwald     -5.70512315e-02, -5.88427175e-02, -6.06371724e-02, -6.24310403e-02,
1352*9a19cd78SMatthias Ringwald     -6.42230355e-02, -6.60096152e-02, -6.77896227e-02, -6.95599687e-02,
1353*9a19cd78SMatthias Ringwald     -7.13196627e-02, -7.30658127e-02, -7.47975891e-02, -7.65117823e-02,
1354*9a19cd78SMatthias Ringwald     -7.82071142e-02, -7.98801069e-02, -8.15296401e-02, -8.31523735e-02,
1355*9a19cd78SMatthias Ringwald     -8.47472895e-02, -8.63113754e-02, -8.78437445e-02, -8.93416436e-02,
1356*9a19cd78SMatthias Ringwald     -9.08041129e-02, -9.22279576e-02, -9.36123287e-02, -9.49537776e-02,
1357*9a19cd78SMatthias Ringwald     -9.62515531e-02, -9.75028462e-02, -9.87073651e-02, -9.98627129e-02,
1358*9a19cd78SMatthias Ringwald     -1.00968022e-01, -1.02020268e-01, -1.03018380e-01, -1.03959636e-01,
1359*9a19cd78SMatthias Ringwald     -1.04843883e-01, -1.05668684e-01, -1.06434282e-01, -1.07138231e-01,
1360*9a19cd78SMatthias Ringwald     -1.07779996e-01, -1.08357063e-01, -1.08869014e-01, -1.09313559e-01,
1361*9a19cd78SMatthias Ringwald     -1.09690356e-01, -1.09996966e-01, -1.10233226e-01, -1.10397281e-01,
1362*9a19cd78SMatthias Ringwald     -1.10489847e-01, -1.10508642e-01, -1.10453743e-01, -1.10322584e-01,
1363*9a19cd78SMatthias Ringwald     -1.10114583e-01, -1.09827693e-01, -1.09462175e-01, -1.09016396e-01,
1364*9a19cd78SMatthias Ringwald     -1.08490885e-01, -1.07883429e-01, -1.07193718e-01, -1.06419636e-01,
1365*9a19cd78SMatthias Ringwald     -1.05561251e-01, -1.04616281e-01, -1.03584904e-01, -1.02465016e-01,
1366*9a19cd78SMatthias Ringwald     -1.01256900e-01, -9.99586457e-02, -9.85701457e-02, -9.70891114e-02,
1367*9a19cd78SMatthias Ringwald     -9.55154582e-02, -9.38468492e-02, -9.20830006e-02, -9.02217102e-02,
1368*9a19cd78SMatthias Ringwald     -8.82630999e-02, -8.62049382e-02, -8.40474215e-02, -8.17879272e-02,
1369*9a19cd78SMatthias Ringwald     -7.94262503e-02, -7.69598078e-02, -7.43878560e-02, -7.17079700e-02,
1370*9a19cd78SMatthias Ringwald     -6.89199478e-02, -6.60218980e-02, -6.30134942e-02, -5.98919191e-02,
1371*9a19cd78SMatthias Ringwald     -5.66565564e-02, -5.33040616e-02, -4.98342724e-02, -4.62445689e-02,
1372*9a19cd78SMatthias Ringwald     -4.25345569e-02, -3.87019577e-02, -3.47458578e-02, -3.06634152e-02,
1373*9a19cd78SMatthias Ringwald     -2.64542508e-02, -2.21158161e-02, -1.76474054e-02, -1.30458136e-02,
1374*9a19cd78SMatthias Ringwald     -8.31042570e-03, -3.43826866e-03,  1.57031548e-03,  6.71769764e-03,
1375*9a19cd78SMatthias Ringwald      1.20047702e-02,  1.74339832e-02,  2.30064206e-02,  2.87248142e-02,
1376*9a19cd78SMatthias Ringwald      3.45889635e-02,  4.06010646e-02,  4.67610292e-02,  5.30713391e-02,
1377*9a19cd78SMatthias Ringwald      5.95323909e-02,  6.61464781e-02,  7.29129318e-02,  7.98335419e-02,
1378*9a19cd78SMatthias Ringwald      8.69080741e-02,  9.41381377e-02,  1.01523314e-01,  1.09065152e-01,
1379*9a19cd78SMatthias Ringwald      1.16762655e-01,  1.24617139e-01,  1.32627295e-01,  1.40793819e-01,
1380*9a19cd78SMatthias Ringwald      1.49115252e-01,  1.57592141e-01,  1.66222480e-01,  1.75006740e-01,
1381*9a19cd78SMatthias Ringwald      1.83943194e-01,  1.93031818e-01,  2.02269985e-01,  2.11656743e-01,
1382*9a19cd78SMatthias Ringwald      2.21188852e-01,  2.30865538e-01,  2.40683799e-01,  2.50642064e-01,
1383*9a19cd78SMatthias Ringwald      2.60736512e-01,  2.70965907e-01,  2.81325902e-01,  2.91814469e-01,
1384*9a19cd78SMatthias Ringwald      3.02427028e-01,  3.13160350e-01,  3.24009570e-01,  3.34971959e-01,
1385*9a19cd78SMatthias Ringwald      3.46042294e-01,  3.57217518e-01,  3.68491565e-01,  3.79859512e-01,
1386*9a19cd78SMatthias Ringwald      3.91314689e-01,  4.02853287e-01,  4.14468833e-01,  4.26157164e-01,
1387*9a19cd78SMatthias Ringwald      4.37911390e-01,  4.49725632e-01,  4.61592545e-01,  4.73506703e-01,
1388*9a19cd78SMatthias Ringwald      4.85460018e-01,  4.97447159e-01,  5.09459723e-01,  5.21490984e-01,
1389*9a19cd78SMatthias Ringwald      5.33532682e-01,  5.45578981e-01,  5.57621716e-01,  5.69654673e-01,
1390*9a19cd78SMatthias Ringwald      5.81668558e-01,  5.93656062e-01,  6.05608382e-01,  6.17519206e-01,
1391*9a19cd78SMatthias Ringwald      6.29379661e-01,  6.41183084e-01,  6.52920354e-01,  6.64584079e-01,
1392*9a19cd78SMatthias Ringwald      6.76165350e-01,  6.87657395e-01,  6.99051154e-01,  7.10340055e-01,
1393*9a19cd78SMatthias Ringwald      7.21514933e-01,  7.32569177e-01,  7.43494372e-01,  7.54284633e-01,
1394*9a19cd78SMatthias Ringwald      7.64931365e-01,  7.75428189e-01,  7.85767017e-01,  7.95941465e-01,
1395*9a19cd78SMatthias Ringwald      8.05943723e-01,  8.15768707e-01,  8.25408622e-01,  8.34858937e-01,
1396*9a19cd78SMatthias Ringwald      8.44112583e-01,  8.53165119e-01,  8.62010834e-01,  8.70645634e-01,
1397*9a19cd78SMatthias Ringwald      8.79063156e-01,  8.87259971e-01,  8.95231329e-01,  9.02975168e-01,
1398*9a19cd78SMatthias Ringwald      9.10486312e-01,  9.17762555e-01,  9.24799743e-01,  9.31596250e-01,
1399*9a19cd78SMatthias Ringwald      9.38149486e-01,  9.44458839e-01,  9.50522086e-01,  9.56340292e-01,
1400*9a19cd78SMatthias Ringwald      9.61911452e-01,  9.67236671e-01,  9.72315664e-01,  9.77150119e-01,
1401*9a19cd78SMatthias Ringwald      9.81739750e-01,  9.86086587e-01,  9.90190638e-01,  9.94055718e-01,
1402*9a19cd78SMatthias Ringwald      9.97684240e-01,  1.00108096e+00,  1.00424751e+00,  1.00718858e+00,
1403*9a19cd78SMatthias Ringwald      1.00990665e+00,  1.01240743e+00,  1.01469470e+00,  1.01677466e+00,
1404*9a19cd78SMatthias Ringwald      1.01865099e+00,  1.02033046e+00,  1.02181733e+00,  1.02311884e+00,
1405*9a19cd78SMatthias Ringwald      1.02424026e+00,  1.02518972e+00,  1.02597245e+00,  1.02659694e+00,
1406*9a19cd78SMatthias Ringwald      1.02706918e+00,  1.02739752e+00,  1.02758790e+00,  1.02764895e+00,
1407*9a19cd78SMatthias Ringwald      1.02758583e+00,  1.02740852e+00,  1.02712299e+00,  1.02673867e+00,
1408*9a19cd78SMatthias Ringwald      1.02626166e+00,  1.02570100e+00,  1.02506178e+00,  1.02435398e+00,
1409*9a19cd78SMatthias Ringwald      1.02358239e+00,  1.02275651e+00,  1.02188060e+00,  1.02096387e+00,
1410*9a19cd78SMatthias Ringwald      1.02000914e+00,  1.01902729e+00,  1.01801944e+00,  1.01699650e+00,
1411*9a19cd78SMatthias Ringwald      1.01595743e+00,  1.01492344e+00,  1.01391595e+00,  1.01304757e+00,
1412*9a19cd78SMatthias Ringwald      1.01221613e+00,  1.01104487e+00,  1.00991459e+00,  1.00882489e+00,
1413*9a19cd78SMatthias Ringwald      1.00777386e+00,  1.00676170e+00,  1.00578665e+00,  1.00484875e+00,
1414*9a19cd78SMatthias Ringwald      1.00394608e+00,  1.00307885e+00,  1.00224501e+00,  1.00144473e+00,
1415*9a19cd78SMatthias Ringwald      1.00067619e+00,  9.99939317e-01,  9.99232085e-01,  9.98554813e-01,
1416*9a19cd78SMatthias Ringwald      9.97905542e-01,  9.97284268e-01,  9.96689095e-01,  9.96120338e-01,
1417*9a19cd78SMatthias Ringwald      9.95576126e-01,  9.95056572e-01,  9.94559753e-01,  9.94086038e-01,
1418*9a19cd78SMatthias Ringwald      9.93633779e-01,  9.93203161e-01,  9.92792187e-01,  9.92401518e-01,
1419*9a19cd78SMatthias Ringwald      9.92029727e-01,  9.91676778e-01,  9.91340877e-01,  9.91023065e-01,
1420*9a19cd78SMatthias Ringwald      9.90721643e-01,  9.90436680e-01,  9.90166895e-01,  9.89913101e-01,
1421*9a19cd78SMatthias Ringwald      9.89673564e-01,  9.89448837e-01,  9.89237484e-01,  9.89040193e-01,
1422*9a19cd78SMatthias Ringwald      9.88855636e-01,  9.88684347e-01,  9.88524761e-01,  9.88377852e-01,
1423*9a19cd78SMatthias Ringwald      9.88242327e-01,  9.88118564e-01,  9.88005163e-01,  9.87903202e-01,
1424*9a19cd78SMatthias Ringwald      9.87811174e-01,  9.87729546e-01,  9.87657198e-01,  9.87594984e-01,
1425*9a19cd78SMatthias Ringwald      9.87541274e-01,  9.87496906e-01,  9.87460625e-01,  9.87432981e-01,
1426*9a19cd78SMatthias Ringwald      9.87412641e-01,  9.87400475e-01,  9.87394992e-01,  9.87396916e-01,
1427*9a19cd78SMatthias Ringwald      9.87404906e-01,  9.87419705e-01,  9.87439972e-01,  9.87466328e-01,
1428*9a19cd78SMatthias Ringwald      9.87497321e-01,  9.87533893e-01,  9.87574654e-01,  9.87620124e-01,
1429*9a19cd78SMatthias Ringwald      9.87668980e-01,  9.87722156e-01,  9.87778192e-01,  9.87837649e-01,
1430*9a19cd78SMatthias Ringwald      9.87899199e-01,  9.87963798e-01,  9.88030030e-01,  9.88098468e-01,
1431*9a19cd78SMatthias Ringwald      9.88167801e-01,  9.88239030e-01,  9.88310769e-01,  9.88383520e-01,
1432*9a19cd78SMatthias Ringwald      9.88456016e-01,  9.88529420e-01,  9.88602222e-01,  9.88674940e-01,
1433*9a19cd78SMatthias Ringwald      9.88746626e-01,  9.88818277e-01,  9.88888248e-01,  9.88957438e-01,
1434*9a19cd78SMatthias Ringwald      9.89024798e-01,  9.89091125e-01,  9.89155170e-01,  9.89217866e-01,
1435*9a19cd78SMatthias Ringwald      9.89277956e-01,  9.89336519e-01,  9.89392368e-01,  9.89446283e-01,
1436*9a19cd78SMatthias Ringwald      9.89497212e-01,  9.89546334e-01,  9.89592362e-01,  9.89636265e-01,
1437*9a19cd78SMatthias Ringwald      9.89677201e-01,  9.89716220e-01,  9.89752029e-01,  9.89785920e-01,
1438*9a19cd78SMatthias Ringwald      9.89817027e-01,  9.89846207e-01,  9.89872536e-01,  9.89897514e-01,
1439*9a19cd78SMatthias Ringwald      9.89920005e-01,  9.89941079e-01,  9.89960061e-01,  9.89978226e-01,
1440*9a19cd78SMatthias Ringwald      9.89994556e-01,  9.90010350e-01,  9.90024832e-01,  9.90039402e-01,
1441*9a19cd78SMatthias Ringwald      9.90053211e-01,  9.90067475e-01,  9.90081472e-01,  9.90096693e-01,
1442*9a19cd78SMatthias Ringwald      9.90112245e-01,  9.90129379e-01,  9.90147465e-01,  9.90168060e-01,
1443*9a19cd78SMatthias Ringwald      9.90190227e-01,  9.90215190e-01,  9.90242442e-01,  9.90273445e-01,
1444*9a19cd78SMatthias Ringwald      9.90307127e-01,  9.90344891e-01,  9.90386228e-01,  9.90432448e-01,
1445*9a19cd78SMatthias Ringwald      9.90482565e-01,  9.90537983e-01,  9.90598060e-01,  9.90664037e-01,
1446*9a19cd78SMatthias Ringwald      9.90734883e-01,  9.90812038e-01,  9.90894786e-01,  9.90984259e-01,
1447*9a19cd78SMatthias Ringwald      9.91079525e-01,  9.91181924e-01,  9.91290512e-01,  9.91406471e-01,
1448*9a19cd78SMatthias Ringwald      9.91528801e-01,  9.91658694e-01,  9.91795272e-01,  9.91939622e-01,
1449*9a19cd78SMatthias Ringwald      9.92090615e-01,  9.92249503e-01,  9.92415240e-01,  9.92588721e-01,
1450*9a19cd78SMatthias Ringwald      9.92768871e-01,  9.92956911e-01,  9.93151653e-01,  9.93353924e-01,
1451*9a19cd78SMatthias Ringwald      9.93562689e-01,  9.93779087e-01,  9.94001643e-01,  9.94231202e-01,
1452*9a19cd78SMatthias Ringwald      9.94466818e-01,  9.94709344e-01,  9.94957285e-01,  9.95211663e-01,
1453*9a19cd78SMatthias Ringwald      9.95471264e-01,  9.95736795e-01,  9.96006862e-01,  9.96282303e-01,
1454*9a19cd78SMatthias Ringwald      9.96561799e-01,  9.96846133e-01,  9.97133827e-01,  9.97425669e-01,
1455*9a19cd78SMatthias Ringwald      9.97720337e-01,  9.98018509e-01,  9.98318587e-01,  9.98621352e-01,
1456*9a19cd78SMatthias Ringwald      9.98925543e-01,  9.99231731e-01,  9.99538258e-01,  9.99846116e-01,
1457*9a19cd78SMatthias Ringwald      1.00015391e+00,  1.00046196e+00,  1.00076886e+00,  1.00107561e+00,
1458*9a19cd78SMatthias Ringwald      1.00138055e+00,  1.00168424e+00,  1.00198543e+00,  1.00228487e+00,
1459*9a19cd78SMatthias Ringwald      1.00258098e+00,  1.00287441e+00,  1.00316385e+00,  1.00345006e+00,
1460*9a19cd78SMatthias Ringwald      1.00373157e+00,  1.00400915e+00,  1.00428146e+00,  1.00454934e+00,
1461*9a19cd78SMatthias Ringwald      1.00481138e+00,  1.00506827e+00,  1.00531880e+00,  1.00556397e+00,
1462*9a19cd78SMatthias Ringwald      1.00580227e+00,  1.00603455e+00,  1.00625986e+00,  1.00647902e+00,
1463*9a19cd78SMatthias Ringwald      1.00669054e+00,  1.00689557e+00,  1.00709305e+00,  1.00728380e+00,
1464*9a19cd78SMatthias Ringwald      1.00746662e+00,  1.00764273e+00,  1.00781104e+00,  1.00797244e+00,
1465*9a19cd78SMatthias Ringwald      1.00812588e+00,  1.00827260e+00,  1.00841147e+00,  1.00854357e+00,
1466*9a19cd78SMatthias Ringwald      1.00866802e+00,  1.00878601e+00,  1.00889653e+00,  1.00900077e+00,
1467*9a19cd78SMatthias Ringwald      1.00909776e+00,  1.00918888e+00,  1.00927316e+00,  1.00935176e+00,
1468*9a19cd78SMatthias Ringwald      1.00942394e+00,  1.00949118e+00,  1.00955240e+00,  1.00960889e+00,
1469*9a19cd78SMatthias Ringwald      1.00965997e+00,  1.00970709e+00,  1.00974924e+00,  1.00978774e+00,
1470*9a19cd78SMatthias Ringwald      1.00982209e+00,  1.00985371e+00,  1.00988150e+00,  1.00990696e+00,
1471*9a19cd78SMatthias Ringwald      1.00992957e+00,  1.00995057e+00,  1.00996902e+00,  1.00998650e+00,
1472*9a19cd78SMatthias Ringwald      1.01000236e+00,  1.01001789e+00,  1.01003217e+00,  1.01004672e+00,
1473*9a19cd78SMatthias Ringwald      1.01006081e+00,  1.01007567e+00,  1.01009045e+00,  1.01010656e+00,
1474*9a19cd78SMatthias Ringwald      1.01012323e+00,  1.01014176e+00,  1.01016113e+00,  1.01018264e+00,
1475*9a19cd78SMatthias Ringwald      1.01020559e+00,  1.01023108e+00,  1.01025795e+00,  1.01028773e+00,
1476*9a19cd78SMatthias Ringwald      1.01031948e+00,  1.01035408e+00,  1.01039064e+00,  1.01043047e+00,
1477*9a19cd78SMatthias Ringwald      1.01047227e+00,  1.01051710e+00,  1.01056410e+00,  1.01061427e+00,
1478*9a19cd78SMatthias Ringwald      1.01066629e+00,  1.01072136e+00,  1.01077842e+00,  1.01083825e+00,
1479*9a19cd78SMatthias Ringwald      1.01089966e+00,  1.01096373e+00,  1.01102919e+00,  1.01109699e+00,
1480*9a19cd78SMatthias Ringwald      1.01116586e+00,  1.01123661e+00,  1.01130817e+00,  1.01138145e+00,
1481*9a19cd78SMatthias Ringwald      1.01145479e+00,  1.01152919e+00,  1.01160368e+00,  1.01167880e+00,
1482*9a19cd78SMatthias Ringwald      1.01175301e+00,  1.01182748e+00,  1.01190094e+00,  1.01197388e+00,
1483*9a19cd78SMatthias Ringwald      1.01204489e+00,  1.01211499e+00,  1.01218284e+00,  1.01224902e+00,
1484*9a19cd78SMatthias Ringwald      1.01231210e+00,  1.01237303e+00,  1.01243046e+00,  1.01248497e+00,
1485*9a19cd78SMatthias Ringwald      1.01253506e+00,  1.01258168e+00,  1.01262347e+00,  1.01266098e+00,
1486*9a19cd78SMatthias Ringwald      1.01269276e+00,  1.01271979e+00,  1.01274058e+00,  1.01275575e+00,
1487*9a19cd78SMatthias Ringwald      1.01276395e+00,  1.01276592e+00,  1.01276030e+00,  1.01274782e+00,
1488*9a19cd78SMatthias Ringwald      1.01272696e+00,  1.01269861e+00,  1.01266140e+00,  1.01261590e+00,
1489*9a19cd78SMatthias Ringwald      1.01256083e+00,  1.01249705e+00,  1.01242289e+00,  1.01233923e+00,
1490*9a19cd78SMatthias Ringwald      1.01224492e+00,  1.01214046e+00,  1.01202430e+00,  1.01189756e+00,
1491*9a19cd78SMatthias Ringwald      1.01175881e+00,  1.01160845e+00,  1.01144516e+00,  1.01126996e+00,
1492*9a19cd78SMatthias Ringwald      1.01108126e+00,  1.01087961e+00,  1.01066368e+00,  1.01043418e+00,
1493*9a19cd78SMatthias Ringwald      1.01018968e+00,  1.00993075e+00,  1.00965566e+00,  1.00936525e+00,
1494*9a19cd78SMatthias Ringwald      1.00905825e+00,  1.00873476e+00,  1.00839308e+00,  1.00803431e+00,
1495*9a19cd78SMatthias Ringwald      1.00765666e+00,  1.00726014e+00,  1.00684335e+00,  1.00640701e+00,
1496*9a19cd78SMatthias Ringwald      1.00594915e+00,  1.00547001e+00,  1.00496799e+00,  1.00444353e+00,
1497*9a19cd78SMatthias Ringwald      1.00389477e+00,  1.00332190e+00,  1.00272313e+00,  1.00209885e+00,
1498*9a19cd78SMatthias Ringwald      1.00144728e+00,  1.00076851e+00,  1.00006069e+00,  9.99324268e-01,
1499*9a19cd78SMatthias Ringwald      9.98557350e-01,  9.97760020e-01,  9.96930604e-01,  9.96069427e-01,
1500*9a19cd78SMatthias Ringwald      9.95174643e-01,  9.94246644e-01,  9.93283713e-01,  9.92286108e-01,
1501*9a19cd78SMatthias Ringwald      9.91252309e-01,  9.90182742e-01,  9.89075787e-01,  9.87931302e-01,
1502*9a19cd78SMatthias Ringwald      9.86355322e-01,  9.84736245e-01,  9.83175095e-01,  9.81558334e-01,
1503*9a19cd78SMatthias Ringwald      9.79861353e-01,  9.78061749e-01,  9.76157432e-01,  9.74137862e-01,
1504*9a19cd78SMatthias Ringwald      9.71999011e-01,  9.69732741e-01,  9.67333198e-01,  9.64791512e-01,
1505*9a19cd78SMatthias Ringwald      9.62101150e-01,  9.59253976e-01,  9.56242718e-01,  9.53060091e-01,
1506*9a19cd78SMatthias Ringwald      9.49698408e-01,  9.46149812e-01,  9.42407161e-01,  9.38463416e-01,
1507*9a19cd78SMatthias Ringwald      9.34311297e-01,  9.29944987e-01,  9.25356797e-01,  9.20540463e-01,
1508*9a19cd78SMatthias Ringwald      9.15489628e-01,  9.10198679e-01,  9.04662060e-01,  8.98875519e-01,
1509*9a19cd78SMatthias Ringwald      8.92833832e-01,  8.86533719e-01,  8.79971272e-01,  8.73143784e-01,
1510*9a19cd78SMatthias Ringwald      8.66047653e-01,  8.58681252e-01,  8.51042044e-01,  8.43129723e-01,
1511*9a19cd78SMatthias Ringwald      8.34943514e-01,  8.26483991e-01,  8.17750537e-01,  8.08744982e-01,
1512*9a19cd78SMatthias Ringwald      7.99468149e-01,  7.89923516e-01,  7.80113773e-01,  7.70043128e-01,
1513*9a19cd78SMatthias Ringwald      7.59714574e-01,  7.49133097e-01,  7.38302860e-01,  7.27229876e-01,
1514*9a19cd78SMatthias Ringwald      7.15920192e-01,  7.04381434e-01,  6.92619693e-01,  6.80643883e-01,
1515*9a19cd78SMatthias Ringwald      6.68461648e-01,  6.56083014e-01,  6.43517927e-01,  6.30775533e-01,
1516*9a19cd78SMatthias Ringwald      6.17864165e-01,  6.04795463e-01,  5.91579959e-01,  5.78228937e-01,
1517*9a19cd78SMatthias Ringwald      5.64753589e-01,  5.51170316e-01,  5.37490509e-01,  5.23726350e-01,
1518*9a19cd78SMatthias Ringwald      5.09891542e-01,  4.96000807e-01,  4.82066294e-01,  4.68101711e-01,
1519*9a19cd78SMatthias Ringwald      4.54121700e-01,  4.40142182e-01,  4.26177297e-01,  4.12241789e-01,
1520*9a19cd78SMatthias Ringwald      3.98349961e-01,  3.84517234e-01,  3.70758372e-01,  3.57088679e-01,
1521*9a19cd78SMatthias Ringwald      3.43522867e-01,  3.30076376e-01,  3.16764033e-01,  3.03600465e-01,
1522*9a19cd78SMatthias Ringwald      2.90599616e-01,  2.77775850e-01,  2.65143468e-01,  2.52716188e-01,
1523*9a19cd78SMatthias Ringwald      2.40506985e-01,  2.28528397e-01,  2.16793343e-01,  2.05313990e-01,
1524*9a19cd78SMatthias Ringwald      1.94102191e-01,  1.83168087e-01,  1.72522195e-01,  1.62173542e-01,
1525*9a19cd78SMatthias Ringwald      1.52132068e-01,  1.42405280e-01,  1.33001524e-01,  1.23926066e-01,
1526*9a19cd78SMatthias Ringwald      1.15185830e-01,  1.06784043e-01,  9.87263751e-02,  9.10137900e-02,
1527*9a19cd78SMatthias Ringwald      8.36505724e-02,  7.66350831e-02,  6.99703341e-02,  6.36518811e-02,
1528*9a19cd78SMatthias Ringwald      5.76817602e-02,  5.20524422e-02,  4.67653841e-02,  4.18095054e-02,
1529*9a19cd78SMatthias Ringwald      3.71864025e-02,  3.28807275e-02,  2.88954850e-02,  2.52098057e-02,
1530*9a19cd78SMatthias Ringwald      2.18305756e-02,  1.87289619e-02,  1.59212782e-02,  1.33638143e-02,
1531*9a19cd78SMatthias Ringwald      1.10855888e-02,  8.94347419e-03,  6.75812489e-03,  3.50443813e-03,
1532*9a19cd78SMatthias Ringwald };
1533*9a19cd78SMatthias Ringwald 
1534*9a19cd78SMatthias Ringwald static const float mdct_win_7m5_60[60+46] = {
1535*9a19cd78SMatthias Ringwald      2.95060859e-03,  7.17541132e-03,  1.37695374e-02,  2.30953556e-02,
1536*9a19cd78SMatthias Ringwald      3.54036230e-02,  5.08289304e-02,  6.94696293e-02,  9.13884278e-02,
1537*9a19cd78SMatthias Ringwald      1.16604575e-01,  1.45073546e-01,  1.76711174e-01,  2.11342953e-01,
1538*9a19cd78SMatthias Ringwald      2.48768614e-01,  2.88701102e-01,  3.30823871e-01,  3.74814544e-01,
1539*9a19cd78SMatthias Ringwald      4.20308013e-01,  4.66904918e-01,  5.14185341e-01,  5.61710041e-01,
1540*9a19cd78SMatthias Ringwald      6.09026346e-01,  6.55671016e-01,  7.01218384e-01,  7.45240679e-01,
1541*9a19cd78SMatthias Ringwald      7.87369206e-01,  8.27223833e-01,  8.64513675e-01,  8.98977415e-01,
1542*9a19cd78SMatthias Ringwald      9.30407518e-01,  9.58599937e-01,  9.83447719e-01,  1.00488283e+00,
1543*9a19cd78SMatthias Ringwald      1.02285381e+00,  1.03740495e+00,  1.04859791e+00,  1.05656184e+00,
1544*9a19cd78SMatthias Ringwald      1.06149371e+00,  1.06362578e+00,  1.06325973e+00,  1.06074505e+00,
1545*9a19cd78SMatthias Ringwald      1.05643590e+00,  1.05069500e+00,  1.04392435e+00,  1.03647725e+00,
1546*9a19cd78SMatthias Ringwald      1.02872867e+00,  1.02106486e+00,  1.01400658e+00,  1.00727455e+00,
1547*9a19cd78SMatthias Ringwald      1.00172250e+00,  9.97309592e-01,  9.93985158e-01,  9.91683335e-01,
1548*9a19cd78SMatthias Ringwald      9.90325325e-01,  9.89822613e-01,  9.90074734e-01,  9.90975314e-01,
1549*9a19cd78SMatthias Ringwald      9.92412851e-01,  9.94273149e-01,  9.96439157e-01,  9.98791616e-01,
1550*9a19cd78SMatthias Ringwald      1.00120985e+00,  1.00357357e+00,  1.00575984e+00,  1.00764515e+00,
1551*9a19cd78SMatthias Ringwald      1.00910687e+00,  1.01002476e+00,  1.01028203e+00,  1.00976919e+00,
1552*9a19cd78SMatthias Ringwald      1.00838641e+00,  1.00605124e+00,  1.00269767e+00,  9.98280464e-01,
1553*9a19cd78SMatthias Ringwald      9.92777987e-01,  9.86186892e-01,  9.77634164e-01,  9.67447270e-01,
1554*9a19cd78SMatthias Ringwald      9.55129725e-01,  9.40389877e-01,  9.22959280e-01,  9.02607350e-01,
1555*9a19cd78SMatthias Ringwald      8.79202689e-01,  8.52641750e-01,  8.22881272e-01,  7.89971715e-01,
1556*9a19cd78SMatthias Ringwald      7.54030328e-01,  7.15255742e-01,  6.73936911e-01,  6.30414716e-01,
1557*9a19cd78SMatthias Ringwald      5.85078858e-01,  5.38398518e-01,  4.90833753e-01,  4.42885823e-01,
1558*9a19cd78SMatthias Ringwald      3.95091024e-01,  3.48004343e-01,  3.02196710e-01,  2.58227431e-01,
1559*9a19cd78SMatthias Ringwald      2.16641416e-01,  1.77922122e-01,  1.42480547e-01,  1.10652194e-01,
1560*9a19cd78SMatthias Ringwald      8.26995967e-02,  5.88334516e-02,  3.92030848e-02,  2.38629107e-02,
1561*9a19cd78SMatthias Ringwald      1.26976223e-02,  5.35665361e-03,
1562*9a19cd78SMatthias Ringwald };
1563*9a19cd78SMatthias Ringwald 
1564*9a19cd78SMatthias Ringwald static const float mdct_win_7m5_120[120+92] = {
1565*9a19cd78SMatthias Ringwald      2.20824874e-03,  3.81014420e-03,  5.91552473e-03,  8.58361457e-03,
1566*9a19cd78SMatthias Ringwald      1.18759723e-02,  1.58335301e-02,  2.04918652e-02,  2.58883593e-02,
1567*9a19cd78SMatthias Ringwald      3.20415894e-02,  3.89616721e-02,  4.66742169e-02,  5.51849337e-02,
1568*9a19cd78SMatthias Ringwald      6.45038384e-02,  7.46411071e-02,  8.56000162e-02,  9.73846703e-02,
1569*9a19cd78SMatthias Ringwald      1.09993603e-01,  1.23419277e-01,  1.37655457e-01,  1.52690437e-01,
1570*9a19cd78SMatthias Ringwald      1.68513363e-01,  1.85093105e-01,  2.02410419e-01,  2.20450365e-01,
1571*9a19cd78SMatthias Ringwald      2.39167941e-01,  2.58526168e-01,  2.78498539e-01,  2.99038432e-01,
1572*9a19cd78SMatthias Ringwald      3.20104862e-01,  3.41658622e-01,  3.63660034e-01,  3.86062695e-01,
1573*9a19cd78SMatthias Ringwald      4.08815272e-01,  4.31871046e-01,  4.55176988e-01,  4.78676593e-01,
1574*9a19cd78SMatthias Ringwald      5.02324813e-01,  5.26060916e-01,  5.49831283e-01,  5.73576883e-01,
1575*9a19cd78SMatthias Ringwald      5.97241338e-01,  6.20770242e-01,  6.44099662e-01,  6.67176382e-01,
1576*9a19cd78SMatthias Ringwald      6.89958854e-01,  7.12379980e-01,  7.34396372e-01,  7.55966688e-01,
1577*9a19cd78SMatthias Ringwald      7.77036981e-01,  7.97558114e-01,  8.17490856e-01,  8.36796950e-01,
1578*9a19cd78SMatthias Ringwald      8.55447310e-01,  8.73400798e-01,  8.90635719e-01,  9.07128770e-01,
1579*9a19cd78SMatthias Ringwald      9.22848784e-01,  9.37763323e-01,  9.51860206e-01,  9.65130600e-01,
1580*9a19cd78SMatthias Ringwald      9.77556541e-01,  9.89126209e-01,  9.99846919e-01,  1.00970073e+00,
1581*9a19cd78SMatthias Ringwald      1.01868229e+00,  1.02681455e+00,  1.03408981e+00,  1.04051196e+00,
1582*9a19cd78SMatthias Ringwald      1.04610837e+00,  1.05088565e+00,  1.05486289e+00,  1.05807221e+00,
1583*9a19cd78SMatthias Ringwald      1.06053414e+00,  1.06227662e+00,  1.06333815e+00,  1.06375557e+00,
1584*9a19cd78SMatthias Ringwald      1.06356632e+00,  1.06282156e+00,  1.06155996e+00,  1.05981709e+00,
1585*9a19cd78SMatthias Ringwald      1.05765876e+00,  1.05512006e+00,  1.05223985e+00,  1.04908779e+00,
1586*9a19cd78SMatthias Ringwald      1.04569860e+00,  1.04210831e+00,  1.03838099e+00,  1.03455276e+00,
1587*9a19cd78SMatthias Ringwald      1.03067200e+00,  1.02679167e+00,  1.02295558e+00,  1.01920733e+00,
1588*9a19cd78SMatthias Ringwald      1.01587289e+00,  1.01221017e+00,  1.00884559e+00,  1.00577851e+00,
1589*9a19cd78SMatthias Ringwald      1.00300262e+00,  1.00051460e+00,  9.98309229e-01,  9.96378601e-01,
1590*9a19cd78SMatthias Ringwald      9.94718132e-01,  9.93316216e-01,  9.92166957e-01,  9.91258603e-01,
1591*9a19cd78SMatthias Ringwald      9.90581104e-01,  9.90123118e-01,  9.89873712e-01,  9.89818707e-01,
1592*9a19cd78SMatthias Ringwald      9.89946800e-01,  9.90243175e-01,  9.90695564e-01,  9.91288540e-01,
1593*9a19cd78SMatthias Ringwald      9.92009469e-01,  9.92842693e-01,  9.93775067e-01,  9.94790398e-01,
1594*9a19cd78SMatthias Ringwald      9.95875534e-01,  9.97014367e-01,  9.98192871e-01,  9.99394506e-01,
1595*9a19cd78SMatthias Ringwald      1.00060586e+00,  1.00181040e+00,  1.00299457e+00,  1.00414155e+00,
1596*9a19cd78SMatthias Ringwald      1.00523688e+00,  1.00626393e+00,  1.00720890e+00,  1.00805489e+00,
1597*9a19cd78SMatthias Ringwald      1.00878802e+00,  1.00939182e+00,  1.00985296e+00,  1.01015529e+00,
1598*9a19cd78SMatthias Ringwald      1.01028602e+00,  1.01022988e+00,  1.00997541e+00,  1.00950846e+00,
1599*9a19cd78SMatthias Ringwald      1.00881848e+00,  1.00789488e+00,  1.00672876e+00,  1.00530991e+00,
1600*9a19cd78SMatthias Ringwald      1.00363456e+00,  1.00169363e+00,  9.99485663e-01,  9.97006370e-01,
1601*9a19cd78SMatthias Ringwald      9.94254687e-01,  9.91231967e-01,  9.87937115e-01,  9.84375125e-01,
1602*9a19cd78SMatthias Ringwald      9.79890963e-01,  9.75269879e-01,  9.70180498e-01,  9.64580027e-01,
1603*9a19cd78SMatthias Ringwald      9.58425534e-01,  9.51684014e-01,  9.44320232e-01,  9.36290624e-01,
1604*9a19cd78SMatthias Ringwald      9.27580507e-01,  9.18153414e-01,  9.07976524e-01,  8.97050058e-01,
1605*9a19cd78SMatthias Ringwald      8.85351360e-01,  8.72857927e-01,  8.59579819e-01,  8.45502615e-01,
1606*9a19cd78SMatthias Ringwald      8.30619943e-01,  8.14946648e-01,  7.98489378e-01,  7.81262450e-01,
1607*9a19cd78SMatthias Ringwald      7.63291769e-01,  7.44590843e-01,  7.25199287e-01,  7.05153668e-01,
1608*9a19cd78SMatthias Ringwald      6.84490545e-01,  6.63245210e-01,  6.41477162e-01,  6.19235334e-01,
1609*9a19cd78SMatthias Ringwald      5.96559133e-01,  5.73519989e-01,  5.50173851e-01,  5.26568538e-01,
1610*9a19cd78SMatthias Ringwald      5.02781159e-01,  4.78860889e-01,  4.54877894e-01,  4.30898123e-01,
1611*9a19cd78SMatthias Ringwald      4.06993964e-01,  3.83234031e-01,  3.59680098e-01,  3.36408100e-01,
1612*9a19cd78SMatthias Ringwald      3.13496418e-01,  2.91010565e-01,  2.69019585e-01,  2.47584348e-01,
1613*9a19cd78SMatthias Ringwald      2.26788433e-01,  2.06677771e-01,  1.87310343e-01,  1.68739644e-01,
1614*9a19cd78SMatthias Ringwald      1.51012382e-01,  1.34171842e-01,  1.18254662e-01,  1.03290734e-01,
1615*9a19cd78SMatthias Ringwald      8.93117360e-02,  7.63429787e-02,  6.44077291e-02,  5.35243715e-02,
1616*9a19cd78SMatthias Ringwald      4.37084453e-02,  3.49667099e-02,  2.72984629e-02,  2.06895808e-02,
1617*9a19cd78SMatthias Ringwald      1.51125125e-02,  1.05228754e-02,  6.85547314e-03,  4.02351119e-03,
1618*9a19cd78SMatthias Ringwald };
1619*9a19cd78SMatthias Ringwald 
1620*9a19cd78SMatthias Ringwald static const float mdct_win_7m5_180[180+138] = {
1621*9a19cd78SMatthias Ringwald      1.97084908e-03,  2.95060859e-03,  4.12447721e-03,  5.52688664e-03,
1622*9a19cd78SMatthias Ringwald      7.17541132e-03,  9.08757730e-03,  1.12819105e-02,  1.37695374e-02,
1623*9a19cd78SMatthias Ringwald      1.65600266e-02,  1.96650895e-02,  2.30953556e-02,  2.68612894e-02,
1624*9a19cd78SMatthias Ringwald      3.09632560e-02,  3.54036230e-02,  4.01915610e-02,  4.53331403e-02,
1625*9a19cd78SMatthias Ringwald      5.08289304e-02,  5.66815448e-02,  6.28935304e-02,  6.94696293e-02,
1626*9a19cd78SMatthias Ringwald      7.64106314e-02,  8.37160016e-02,  9.13884278e-02,  9.94294008e-02,
1627*9a19cd78SMatthias Ringwald      1.07834725e-01,  1.16604575e-01,  1.25736503e-01,  1.35226811e-01,
1628*9a19cd78SMatthias Ringwald      1.45073546e-01,  1.55273819e-01,  1.65822194e-01,  1.76711174e-01,
1629*9a19cd78SMatthias Ringwald      1.87928776e-01,  1.99473180e-01,  2.11342953e-01,  2.23524554e-01,
1630*9a19cd78SMatthias Ringwald      2.36003100e-01,  2.48768614e-01,  2.61813811e-01,  2.75129161e-01,
1631*9a19cd78SMatthias Ringwald      2.88701102e-01,  3.02514034e-01,  3.16558805e-01,  3.30823871e-01,
1632*9a19cd78SMatthias Ringwald      3.45295567e-01,  3.59963992e-01,  3.74814544e-01,  3.89831817e-01,
1633*9a19cd78SMatthias Ringwald      4.05001010e-01,  4.20308013e-01,  4.35739515e-01,  4.51277817e-01,
1634*9a19cd78SMatthias Ringwald      4.66904918e-01,  4.82609041e-01,  4.98375466e-01,  5.14185341e-01,
1635*9a19cd78SMatthias Ringwald      5.30021478e-01,  5.45869352e-01,  5.61710041e-01,  5.77528151e-01,
1636*9a19cd78SMatthias Ringwald      5.93304696e-01,  6.09026346e-01,  6.24674189e-01,  6.40227555e-01,
1637*9a19cd78SMatthias Ringwald      6.55671016e-01,  6.70995935e-01,  6.86184559e-01,  7.01218384e-01,
1638*9a19cd78SMatthias Ringwald      7.16078449e-01,  7.30756084e-01,  7.45240679e-01,  7.59515122e-01,
1639*9a19cd78SMatthias Ringwald      7.73561955e-01,  7.87369206e-01,  8.00923138e-01,  8.14211386e-01,
1640*9a19cd78SMatthias Ringwald      8.27223833e-01,  8.39952374e-01,  8.52386102e-01,  8.64513675e-01,
1641*9a19cd78SMatthias Ringwald      8.76324079e-01,  8.87814288e-01,  8.98977415e-01,  9.09803319e-01,
1642*9a19cd78SMatthias Ringwald      9.20284312e-01,  9.30407518e-01,  9.40169652e-01,  9.49567795e-01,
1643*9a19cd78SMatthias Ringwald      9.58599937e-01,  9.67260260e-01,  9.75545166e-01,  9.83447719e-01,
1644*9a19cd78SMatthias Ringwald      9.90971957e-01,  9.98119269e-01,  1.00488283e+00,  1.01125773e+00,
1645*9a19cd78SMatthias Ringwald      1.01724436e+00,  1.02285381e+00,  1.02808734e+00,  1.03293706e+00,
1646*9a19cd78SMatthias Ringwald      1.03740495e+00,  1.04150164e+00,  1.04523236e+00,  1.04859791e+00,
1647*9a19cd78SMatthias Ringwald      1.05160340e+00,  1.05425505e+00,  1.05656184e+00,  1.05853400e+00,
1648*9a19cd78SMatthias Ringwald      1.06017414e+00,  1.06149371e+00,  1.06249943e+00,  1.06320577e+00,
1649*9a19cd78SMatthias Ringwald      1.06362578e+00,  1.06376487e+00,  1.06363778e+00,  1.06325973e+00,
1650*9a19cd78SMatthias Ringwald      1.06264695e+00,  1.06180496e+00,  1.06074505e+00,  1.05948492e+00,
1651*9a19cd78SMatthias Ringwald      1.05804533e+00,  1.05643590e+00,  1.05466218e+00,  1.05274047e+00,
1652*9a19cd78SMatthias Ringwald      1.05069500e+00,  1.04853894e+00,  1.04627898e+00,  1.04392435e+00,
1653*9a19cd78SMatthias Ringwald      1.04149540e+00,  1.03901003e+00,  1.03647725e+00,  1.03390793e+00,
1654*9a19cd78SMatthias Ringwald      1.03131989e+00,  1.02872867e+00,  1.02614832e+00,  1.02358988e+00,
1655*9a19cd78SMatthias Ringwald      1.02106486e+00,  1.01856262e+00,  1.01655770e+00,  1.01400658e+00,
1656*9a19cd78SMatthias Ringwald      1.01162953e+00,  1.00938590e+00,  1.00727455e+00,  1.00529616e+00,
1657*9a19cd78SMatthias Ringwald      1.00344526e+00,  1.00172250e+00,  1.00012792e+00,  9.98657533e-01,
1658*9a19cd78SMatthias Ringwald      9.97309592e-01,  9.96083571e-01,  9.94976569e-01,  9.93985158e-01,
1659*9a19cd78SMatthias Ringwald      9.93107530e-01,  9.92341305e-01,  9.91683335e-01,  9.91130070e-01,
1660*9a19cd78SMatthias Ringwald      9.90678325e-01,  9.90325325e-01,  9.90067562e-01,  9.89901282e-01,
1661*9a19cd78SMatthias Ringwald      9.89822613e-01,  9.89827845e-01,  9.89913241e-01,  9.90074734e-01,
1662*9a19cd78SMatthias Ringwald      9.90308256e-01,  9.90609852e-01,  9.90975314e-01,  9.91400330e-01,
1663*9a19cd78SMatthias Ringwald      9.91880966e-01,  9.92412851e-01,  9.92991779e-01,  9.93613381e-01,
1664*9a19cd78SMatthias Ringwald      9.94273149e-01,  9.94966958e-01,  9.95690370e-01,  9.96439157e-01,
1665*9a19cd78SMatthias Ringwald      9.97208572e-01,  9.97994275e-01,  9.98791616e-01,  9.99596062e-01,
1666*9a19cd78SMatthias Ringwald      1.00040410e+00,  1.00120985e+00,  1.00200976e+00,  1.00279924e+00,
1667*9a19cd78SMatthias Ringwald      1.00357357e+00,  1.00432828e+00,  1.00505850e+00,  1.00575984e+00,
1668*9a19cd78SMatthias Ringwald      1.00642767e+00,  1.00705768e+00,  1.00764515e+00,  1.00818549e+00,
1669*9a19cd78SMatthias Ringwald      1.00867427e+00,  1.00910687e+00,  1.00947916e+00,  1.00978659e+00,
1670*9a19cd78SMatthias Ringwald      1.01002476e+00,  1.01018954e+00,  1.01027669e+00,  1.01028203e+00,
1671*9a19cd78SMatthias Ringwald      1.01020174e+00,  1.01003208e+00,  1.00976919e+00,  1.00940939e+00,
1672*9a19cd78SMatthias Ringwald      1.00894931e+00,  1.00838641e+00,  1.00771780e+00,  1.00694031e+00,
1673*9a19cd78SMatthias Ringwald      1.00605124e+00,  1.00504879e+00,  1.00393183e+00,  1.00269767e+00,
1674*9a19cd78SMatthias Ringwald      1.00134427e+00,  9.99872092e-01,  9.98280464e-01,  9.96566569e-01,
1675*9a19cd78SMatthias Ringwald      9.94731737e-01,  9.92777987e-01,  9.90701374e-01,  9.88504165e-01,
1676*9a19cd78SMatthias Ringwald      9.86186892e-01,  9.83711989e-01,  9.80584643e-01,  9.77634164e-01,
1677*9a19cd78SMatthias Ringwald      9.74455033e-01,  9.71062916e-01,  9.67447270e-01,  9.63593926e-01,
1678*9a19cd78SMatthias Ringwald      9.59491398e-01,  9.55129725e-01,  9.50501326e-01,  9.45592810e-01,
1679*9a19cd78SMatthias Ringwald      9.40389877e-01,  9.34886760e-01,  9.29080559e-01,  9.22959280e-01,
1680*9a19cd78SMatthias Ringwald      9.16509579e-01,  9.09724456e-01,  9.02607350e-01,  8.95155084e-01,
1681*9a19cd78SMatthias Ringwald      8.87356154e-01,  8.79202689e-01,  8.70699698e-01,  8.61847424e-01,
1682*9a19cd78SMatthias Ringwald      8.52641750e-01,  8.43077833e-01,  8.33154905e-01,  8.22881272e-01,
1683*9a19cd78SMatthias Ringwald      8.12257597e-01,  8.01285439e-01,  7.89971715e-01,  7.78318177e-01,
1684*9a19cd78SMatthias Ringwald      7.66337710e-01,  7.54030328e-01,  7.41407991e-01,  7.28477501e-01,
1685*9a19cd78SMatthias Ringwald      7.15255742e-01,  7.01751739e-01,  6.87975632e-01,  6.73936911e-01,
1686*9a19cd78SMatthias Ringwald      6.59652573e-01,  6.45139489e-01,  6.30414716e-01,  6.15483622e-01,
1687*9a19cd78SMatthias Ringwald      6.00365852e-01,  5.85078858e-01,  5.69649536e-01,  5.54084810e-01,
1688*9a19cd78SMatthias Ringwald      5.38398518e-01,  5.22614738e-01,  5.06756805e-01,  4.90833753e-01,
1689*9a19cd78SMatthias Ringwald      4.74866033e-01,  4.58876566e-01,  4.42885823e-01,  4.26906539e-01,
1690*9a19cd78SMatthias Ringwald      4.10970973e-01,  3.95091024e-01,  3.79291327e-01,  3.63587417e-01,
1691*9a19cd78SMatthias Ringwald      3.48004343e-01,  3.32563201e-01,  3.17287485e-01,  3.02196710e-01,
1692*9a19cd78SMatthias Ringwald      2.87309403e-01,  2.72643992e-01,  2.58227431e-01,  2.44072856e-01,
1693*9a19cd78SMatthias Ringwald      2.30208977e-01,  2.16641416e-01,  2.03398481e-01,  1.90486162e-01,
1694*9a19cd78SMatthias Ringwald      1.77922122e-01,  1.65726674e-01,  1.53906397e-01,  1.42480547e-01,
1695*9a19cd78SMatthias Ringwald      1.31453980e-01,  1.20841778e-01,  1.10652194e-01,  1.00891734e-01,
1696*9a19cd78SMatthias Ringwald      9.15718851e-02,  8.26995967e-02,  7.42815529e-02,  6.63242382e-02,
1697*9a19cd78SMatthias Ringwald      5.88334516e-02,  5.18140676e-02,  4.52698346e-02,  3.92030848e-02,
1698*9a19cd78SMatthias Ringwald      3.36144159e-02,  2.85023308e-02,  2.38629107e-02,  1.96894227e-02,
1699*9a19cd78SMatthias Ringwald      1.59720527e-02,  1.26976223e-02,  9.84937739e-03,  7.40724463e-03,
1700*9a19cd78SMatthias Ringwald      5.35665361e-03,  3.83226552e-03,
1701*9a19cd78SMatthias Ringwald };
1702*9a19cd78SMatthias Ringwald 
1703*9a19cd78SMatthias Ringwald static const float mdct_win_7m5_240[240+184] = {
1704*9a19cd78SMatthias Ringwald      1.84833037e-03,  2.56481839e-03,  3.36762118e-03,  4.28736617e-03,
1705*9a19cd78SMatthias Ringwald      5.33830143e-03,  6.52679223e-03,  7.86112587e-03,  9.34628179e-03,
1706*9a19cd78SMatthias Ringwald      1.09916868e-02,  1.28011172e-02,  1.47805911e-02,  1.69307043e-02,
1707*9a19cd78SMatthias Ringwald      1.92592307e-02,  2.17696937e-02,  2.44685983e-02,  2.73556543e-02,
1708*9a19cd78SMatthias Ringwald      3.04319230e-02,  3.36980464e-02,  3.71583577e-02,  4.08148180e-02,
1709*9a19cd78SMatthias Ringwald      4.46708068e-02,  4.87262995e-02,  5.29820633e-02,  5.74382470e-02,
1710*9a19cd78SMatthias Ringwald      6.20968580e-02,  6.69609767e-02,  7.20298364e-02,  7.73039146e-02,
1711*9a19cd78SMatthias Ringwald      8.27825574e-02,  8.84682102e-02,  9.43607566e-02,  1.00460272e-01,
1712*9a19cd78SMatthias Ringwald      1.06763824e-01,  1.13273679e-01,  1.19986420e-01,  1.26903521e-01,
1713*9a19cd78SMatthias Ringwald      1.34020853e-01,  1.41339557e-01,  1.48857211e-01,  1.56573685e-01,
1714*9a19cd78SMatthias Ringwald      1.64484622e-01,  1.72589077e-01,  1.80879090e-01,  1.89354320e-01,
1715*9a19cd78SMatthias Ringwald      1.98012244e-01,  2.06854141e-01,  2.15875319e-01,  2.25068672e-01,
1716*9a19cd78SMatthias Ringwald      2.34427407e-01,  2.43948314e-01,  2.53627993e-01,  2.63464061e-01,
1717*9a19cd78SMatthias Ringwald      2.73450494e-01,  2.83582189e-01,  2.93853469e-01,  3.04257373e-01,
1718*9a19cd78SMatthias Ringwald      3.14790914e-01,  3.25449123e-01,  3.36227410e-01,  3.47118760e-01,
1719*9a19cd78SMatthias Ringwald      3.58120177e-01,  3.69224663e-01,  3.80427793e-01,  3.91720023e-01,
1720*9a19cd78SMatthias Ringwald      4.03097022e-01,  4.14551955e-01,  4.26081719e-01,  4.37676318e-01,
1721*9a19cd78SMatthias Ringwald      4.49330196e-01,  4.61034855e-01,  4.72786043e-01,  4.84576777e-01,
1722*9a19cd78SMatthias Ringwald      4.96401707e-01,  5.08252458e-01,  5.20122078e-01,  5.32002077e-01,
1723*9a19cd78SMatthias Ringwald      5.43888090e-01,  5.55771601e-01,  5.67645739e-01,  5.79502786e-01,
1724*9a19cd78SMatthias Ringwald      5.91335035e-01,  6.03138367e-01,  6.14904172e-01,  6.26623941e-01,
1725*9a19cd78SMatthias Ringwald      6.38288834e-01,  6.49893375e-01,  6.61432360e-01,  6.72902514e-01,
1726*9a19cd78SMatthias Ringwald      6.84293750e-01,  6.95600460e-01,  7.06811784e-01,  7.17923425e-01,
1727*9a19cd78SMatthias Ringwald      7.28931386e-01,  7.39832773e-01,  7.50618982e-01,  7.61284053e-01,
1728*9a19cd78SMatthias Ringwald      7.71818919e-01,  7.82220992e-01,  7.92481330e-01,  8.02599448e-01,
1729*9a19cd78SMatthias Ringwald      8.12565230e-01,  8.22377129e-01,  8.32030518e-01,  8.41523208e-01,
1730*9a19cd78SMatthias Ringwald      8.50848313e-01,  8.60002412e-01,  8.68979881e-01,  8.77778347e-01,
1731*9a19cd78SMatthias Ringwald      8.86395904e-01,  8.94829421e-01,  9.03077626e-01,  9.11132652e-01,
1732*9a19cd78SMatthias Ringwald      9.18993585e-01,  9.26652937e-01,  9.34111420e-01,  9.41364344e-01,
1733*9a19cd78SMatthias Ringwald      9.48412967e-01,  9.55255630e-01,  9.61892013e-01,  9.68316363e-01,
1734*9a19cd78SMatthias Ringwald      9.74530156e-01,  9.80528338e-01,  9.86313928e-01,  9.91886049e-01,
1735*9a19cd78SMatthias Ringwald      9.97246345e-01,  1.00239190e+00,  1.00731946e+00,  1.01202707e+00,
1736*9a19cd78SMatthias Ringwald      1.01651654e+00,  1.02079430e+00,  1.02486082e+00,  1.02871471e+00,
1737*9a19cd78SMatthias Ringwald      1.03235170e+00,  1.03577375e+00,  1.03898432e+00,  1.04198786e+00,
1738*9a19cd78SMatthias Ringwald      1.04478564e+00,  1.04737818e+00,  1.04976743e+00,  1.05195405e+00,
1739*9a19cd78SMatthias Ringwald      1.05394290e+00,  1.05573463e+00,  1.05734177e+00,  1.05875726e+00,
1740*9a19cd78SMatthias Ringwald      1.05998674e+00,  1.06103672e+00,  1.06190651e+00,  1.06260369e+00,
1741*9a19cd78SMatthias Ringwald      1.06313289e+00,  1.06350237e+00,  1.06370981e+00,  1.06376322e+00,
1742*9a19cd78SMatthias Ringwald      1.06366765e+00,  1.06343012e+00,  1.06305656e+00,  1.06255421e+00,
1743*9a19cd78SMatthias Ringwald      1.06192235e+00,  1.06116702e+00,  1.06029469e+00,  1.05931469e+00,
1744*9a19cd78SMatthias Ringwald      1.05823465e+00,  1.05705891e+00,  1.05578948e+00,  1.05442979e+00,
1745*9a19cd78SMatthias Ringwald      1.05298793e+00,  1.05147505e+00,  1.04989930e+00,  1.04826213e+00,
1746*9a19cd78SMatthias Ringwald      1.04656691e+00,  1.04481699e+00,  1.04302125e+00,  1.04118768e+00,
1747*9a19cd78SMatthias Ringwald      1.03932339e+00,  1.03743168e+00,  1.03551757e+00,  1.03358511e+00,
1748*9a19cd78SMatthias Ringwald      1.03164371e+00,  1.02969955e+00,  1.02775944e+00,  1.02582719e+00,
1749*9a19cd78SMatthias Ringwald      1.02390791e+00,  1.02200805e+00,  1.02013910e+00,  1.01826310e+00,
1750*9a19cd78SMatthias Ringwald      1.01687901e+00,  1.01492195e+00,  1.01309662e+00,  1.01134205e+00,
1751*9a19cd78SMatthias Ringwald      1.00965912e+00,  1.00805036e+00,  1.00651754e+00,  1.00505799e+00,
1752*9a19cd78SMatthias Ringwald      1.00366956e+00,  1.00235327e+00,  1.00110981e+00,  9.99937523e-01,
1753*9a19cd78SMatthias Ringwald      9.98834524e-01,  9.97800606e-01,  9.96835756e-01,  9.95938881e-01,
1754*9a19cd78SMatthias Ringwald      9.95108459e-01,  9.94343411e-01,  9.93642921e-01,  9.93005832e-01,
1755*9a19cd78SMatthias Ringwald      9.92430984e-01,  9.91917493e-01,  9.91463898e-01,  9.91068214e-01,
1756*9a19cd78SMatthias Ringwald      9.90729218e-01,  9.90446225e-01,  9.90217819e-01,  9.90041963e-01,
1757*9a19cd78SMatthias Ringwald      9.89917085e-01,  9.89841975e-01,  9.89815048e-01,  9.89834329e-01,
1758*9a19cd78SMatthias Ringwald      9.89898211e-01,  9.90005403e-01,  9.90154189e-01,  9.90342427e-01,
1759*9a19cd78SMatthias Ringwald      9.90568459e-01,  9.90830953e-01,  9.91128038e-01,  9.91457566e-01,
1760*9a19cd78SMatthias Ringwald      9.91817881e-01,  9.92207559e-01,  9.92624757e-01,  9.93067358e-01,
1761*9a19cd78SMatthias Ringwald      9.93533398e-01,  9.94021410e-01,  9.94529685e-01,  9.95055964e-01,
1762*9a19cd78SMatthias Ringwald      9.95598351e-01,  9.96155580e-01,  9.96725627e-01,  9.97306092e-01,
1763*9a19cd78SMatthias Ringwald      9.97895214e-01,  9.98491441e-01,  9.99092890e-01,  9.99697063e-01,
1764*9a19cd78SMatthias Ringwald      1.00030303e+00,  1.00090793e+00,  1.00151084e+00,  1.00210923e+00,
1765*9a19cd78SMatthias Ringwald      1.00270118e+00,  1.00328513e+00,  1.00385926e+00,  1.00442111e+00,
1766*9a19cd78SMatthias Ringwald      1.00496860e+00,  1.00550040e+00,  1.00601455e+00,  1.00650869e+00,
1767*9a19cd78SMatthias Ringwald      1.00698104e+00,  1.00743004e+00,  1.00785364e+00,  1.00824962e+00,
1768*9a19cd78SMatthias Ringwald      1.00861604e+00,  1.00895138e+00,  1.00925390e+00,  1.00952134e+00,
1769*9a19cd78SMatthias Ringwald      1.00975175e+00,  1.00994371e+00,  1.01009550e+00,  1.01020488e+00,
1770*9a19cd78SMatthias Ringwald      1.01027007e+00,  1.01028975e+00,  1.01026227e+00,  1.01018562e+00,
1771*9a19cd78SMatthias Ringwald      1.01005820e+00,  1.00987882e+00,  1.00964593e+00,  1.00935753e+00,
1772*9a19cd78SMatthias Ringwald      1.00901228e+00,  1.00860959e+00,  1.00814837e+00,  1.00762674e+00,
1773*9a19cd78SMatthias Ringwald      1.00704343e+00,  1.00639775e+00,  1.00568877e+00,  1.00491559e+00,
1774*9a19cd78SMatthias Ringwald      1.00407768e+00,  1.00317429e+00,  1.00220424e+00,  1.00116684e+00,
1775*9a19cd78SMatthias Ringwald      1.00006248e+00,  9.98891422e-01,  9.97652252e-01,  9.96343856e-01,
1776*9a19cd78SMatthias Ringwald      9.94967462e-01,  9.93524663e-01,  9.92013927e-01,  9.90433283e-01,
1777*9a19cd78SMatthias Ringwald      9.88785147e-01,  9.87072681e-01,  9.85297443e-01,  9.83401161e-01,
1778*9a19cd78SMatthias Ringwald      9.80949418e-01,  9.78782729e-01,  9.76468238e-01,  9.74042850e-01,
1779*9a19cd78SMatthias Ringwald      9.71498848e-01,  9.68829968e-01,  9.66030974e-01,  9.63095104e-01,
1780*9a19cd78SMatthias Ringwald      9.60018198e-01,  9.56795738e-01,  9.53426267e-01,  9.49903482e-01,
1781*9a19cd78SMatthias Ringwald      9.46222115e-01,  9.42375820e-01,  9.38361702e-01,  9.34177798e-01,
1782*9a19cd78SMatthias Ringwald      9.29823124e-01,  9.25292320e-01,  9.20580120e-01,  9.15679793e-01,
1783*9a19cd78SMatthias Ringwald      9.10590604e-01,  9.05315030e-01,  8.99852756e-01,  8.94199497e-01,
1784*9a19cd78SMatthias Ringwald      8.88350152e-01,  8.82301631e-01,  8.76054874e-01,  8.69612385e-01,
1785*9a19cd78SMatthias Ringwald      8.62972799e-01,  8.56135198e-01,  8.49098179e-01,  8.41857024e-01,
1786*9a19cd78SMatthias Ringwald      8.34414055e-01,  8.26774617e-01,  8.18939244e-01,  8.10904891e-01,
1787*9a19cd78SMatthias Ringwald      8.02675318e-01,  7.94253751e-01,  7.85641662e-01,  7.76838609e-01,
1788*9a19cd78SMatthias Ringwald      7.67853193e-01,  7.58685181e-01,  7.49330658e-01,  7.39809171e-01,
1789*9a19cd78SMatthias Ringwald      7.30109944e-01,  7.20247781e-01,  7.10224161e-01,  7.00044326e-01,
1790*9a19cd78SMatthias Ringwald      6.89711890e-01,  6.79231154e-01,  6.68608179e-01,  6.57850997e-01,
1791*9a19cd78SMatthias Ringwald      6.46965718e-01,  6.35959617e-01,  6.24840336e-01,  6.13603503e-01,
1792*9a19cd78SMatthias Ringwald      6.02265091e-01,  5.90829083e-01,  5.79309408e-01,  5.67711124e-01,
1793*9a19cd78SMatthias Ringwald      5.56037416e-01,  5.44293664e-01,  5.32489768e-01,  5.20636084e-01,
1794*9a19cd78SMatthias Ringwald      5.08743273e-01,  4.96811166e-01,  4.84849881e-01,  4.72868107e-01,
1795*9a19cd78SMatthias Ringwald      4.60875918e-01,  4.48881081e-01,  4.36891039e-01,  4.24912022e-01,
1796*9a19cd78SMatthias Ringwald      4.12960603e-01,  4.01035896e-01,  3.89157867e-01,  3.77322199e-01,
1797*9a19cd78SMatthias Ringwald      3.65543767e-01,  3.53832356e-01,  3.42196115e-01,  3.30644820e-01,
1798*9a19cd78SMatthias Ringwald      3.19187559e-01,  3.07833309e-01,  2.96588182e-01,  2.85463717e-01,
1799*9a19cd78SMatthias Ringwald      2.74462409e-01,  2.63609584e-01,  2.52883101e-01,  2.42323489e-01,
1800*9a19cd78SMatthias Ringwald      2.31925746e-01,  2.21690837e-01,  2.11638058e-01,  2.01766920e-01,
1801*9a19cd78SMatthias Ringwald      1.92082236e-01,  1.82589160e-01,  1.73305997e-01,  1.64229200e-01,
1802*9a19cd78SMatthias Ringwald      1.55362654e-01,  1.46717079e-01,  1.38299391e-01,  1.30105078e-01,
1803*9a19cd78SMatthias Ringwald      1.22145310e-01,  1.14423458e-01,  1.06941076e-01,  9.97025893e-02,
1804*9a19cd78SMatthias Ringwald      9.27124283e-02,  8.59737427e-02,  7.94893311e-02,  7.32616579e-02,
1805*9a19cd78SMatthias Ringwald      6.72934102e-02,  6.15874081e-02,  5.61458003e-02,  5.09700747e-02,
1806*9a19cd78SMatthias Ringwald      4.60617047e-02,  4.14220117e-02,  3.70514189e-02,  3.29494666e-02,
1807*9a19cd78SMatthias Ringwald      2.91153327e-02,  2.55476401e-02,  2.22437711e-02,  1.92000659e-02,
1808*9a19cd78SMatthias Ringwald      1.64122205e-02,  1.38747611e-02,  1.15806353e-02,  9.52213664e-03,
1809*9a19cd78SMatthias Ringwald      7.69137380e-03,  6.07207833e-03,  4.62581217e-03,  3.60685164e-03,
1810*9a19cd78SMatthias Ringwald };
1811*9a19cd78SMatthias Ringwald 
1812*9a19cd78SMatthias Ringwald static const float mdct_win_7m5_360[360+276] = {
1813*9a19cd78SMatthias Ringwald      1.72152668e-03,  2.20824874e-03,  2.68901752e-03,  3.22613342e-03,
1814*9a19cd78SMatthias Ringwald      3.81014420e-03,  4.45371932e-03,  5.15369240e-03,  5.91552473e-03,
1815*9a19cd78SMatthias Ringwald      6.73869158e-03,  7.62861841e-03,  8.58361457e-03,  9.60938437e-03,
1816*9a19cd78SMatthias Ringwald      1.07060753e-02,  1.18759723e-02,  1.31190130e-02,  1.44390108e-02,
1817*9a19cd78SMatthias Ringwald      1.58335301e-02,  1.73063081e-02,  1.88584711e-02,  2.04918652e-02,
1818*9a19cd78SMatthias Ringwald      2.22061476e-02,  2.40057166e-02,  2.58883593e-02,  2.78552326e-02,
1819*9a19cd78SMatthias Ringwald      2.99059145e-02,  3.20415894e-02,  3.42610013e-02,  3.65680973e-02,
1820*9a19cd78SMatthias Ringwald      3.89616721e-02,  4.14435824e-02,  4.40140796e-02,  4.66742169e-02,
1821*9a19cd78SMatthias Ringwald      4.94214625e-02,  5.22588489e-02,  5.51849337e-02,  5.82005143e-02,
1822*9a19cd78SMatthias Ringwald      6.13059845e-02,  6.45038384e-02,  6.77913923e-02,  7.11707833e-02,
1823*9a19cd78SMatthias Ringwald      7.46411071e-02,  7.82028053e-02,  8.18549521e-02,  8.56000162e-02,
1824*9a19cd78SMatthias Ringwald      8.94357617e-02,  9.33642589e-02,  9.73846703e-02,  1.01496718e-01,
1825*9a19cd78SMatthias Ringwald      1.05698760e-01,  1.09993603e-01,  1.14378287e-01,  1.18853508e-01,
1826*9a19cd78SMatthias Ringwald      1.23419277e-01,  1.28075997e-01,  1.32820581e-01,  1.37655457e-01,
1827*9a19cd78SMatthias Ringwald      1.42578648e-01,  1.47590522e-01,  1.52690437e-01,  1.57878853e-01,
1828*9a19cd78SMatthias Ringwald      1.63152529e-01,  1.68513363e-01,  1.73957969e-01,  1.79484737e-01,
1829*9a19cd78SMatthias Ringwald      1.85093105e-01,  1.90784835e-01,  1.96556497e-01,  2.02410419e-01,
1830*9a19cd78SMatthias Ringwald      2.08345433e-01,  2.14359825e-01,  2.20450365e-01,  2.26617296e-01,
1831*9a19cd78SMatthias Ringwald      2.32856279e-01,  2.39167941e-01,  2.45550642e-01,  2.52003951e-01,
1832*9a19cd78SMatthias Ringwald      2.58526168e-01,  2.65118408e-01,  2.71775911e-01,  2.78498539e-01,
1833*9a19cd78SMatthias Ringwald      2.85284606e-01,  2.92132459e-01,  2.99038432e-01,  3.06004256e-01,
1834*9a19cd78SMatthias Ringwald      3.13026529e-01,  3.20104862e-01,  3.27237324e-01,  3.34423210e-01,
1835*9a19cd78SMatthias Ringwald      3.41658622e-01,  3.48944976e-01,  3.56279252e-01,  3.63660034e-01,
1836*9a19cd78SMatthias Ringwald      3.71085146e-01,  3.78554327e-01,  3.86062695e-01,  3.93610554e-01,
1837*9a19cd78SMatthias Ringwald      4.01195225e-01,  4.08815272e-01,  4.16468460e-01,  4.24155411e-01,
1838*9a19cd78SMatthias Ringwald      4.31871046e-01,  4.39614744e-01,  4.47384019e-01,  4.55176988e-01,
1839*9a19cd78SMatthias Ringwald      4.62990138e-01,  4.70824619e-01,  4.78676593e-01,  4.86545433e-01,
1840*9a19cd78SMatthias Ringwald      4.94428714e-01,  5.02324813e-01,  5.10229471e-01,  5.18142927e-01,
1841*9a19cd78SMatthias Ringwald      5.26060916e-01,  5.33982818e-01,  5.41906817e-01,  5.49831283e-01,
1842*9a19cd78SMatthias Ringwald      5.57751234e-01,  5.65667636e-01,  5.73576883e-01,  5.81476666e-01,
1843*9a19cd78SMatthias Ringwald      5.89364661e-01,  5.97241338e-01,  6.05102013e-01,  6.12946170e-01,
1844*9a19cd78SMatthias Ringwald      6.20770242e-01,  6.28572094e-01,  6.36348526e-01,  6.44099662e-01,
1845*9a19cd78SMatthias Ringwald      6.51820973e-01,  6.59513822e-01,  6.67176382e-01,  6.74806795e-01,
1846*9a19cd78SMatthias Ringwald      6.82400711e-01,  6.89958854e-01,  6.97475722e-01,  7.04950145e-01,
1847*9a19cd78SMatthias Ringwald      7.12379980e-01,  7.19765434e-01,  7.27103833e-01,  7.34396372e-01,
1848*9a19cd78SMatthias Ringwald      7.41638561e-01,  7.48829639e-01,  7.55966688e-01,  7.63049259e-01,
1849*9a19cd78SMatthias Ringwald      7.70072273e-01,  7.77036981e-01,  7.83941108e-01,  7.90781257e-01,
1850*9a19cd78SMatthias Ringwald      7.97558114e-01,  8.04271381e-01,  8.10914901e-01,  8.17490856e-01,
1851*9a19cd78SMatthias Ringwald      8.23997094e-01,  8.30432785e-01,  8.36796950e-01,  8.43089298e-01,
1852*9a19cd78SMatthias Ringwald      8.49305847e-01,  8.55447310e-01,  8.61511037e-01,  8.67496281e-01,
1853*9a19cd78SMatthias Ringwald      8.73400798e-01,  8.79227518e-01,  8.84972438e-01,  8.90635719e-01,
1854*9a19cd78SMatthias Ringwald      8.96217173e-01,  9.01716414e-01,  9.07128770e-01,  9.12456578e-01,
1855*9a19cd78SMatthias Ringwald      9.17697261e-01,  9.22848784e-01,  9.27909917e-01,  9.32882596e-01,
1856*9a19cd78SMatthias Ringwald      9.37763323e-01,  9.42553356e-01,  9.47252428e-01,  9.51860206e-01,
1857*9a19cd78SMatthias Ringwald      9.56376060e-01,  9.60800602e-01,  9.65130600e-01,  9.69366689e-01,
1858*9a19cd78SMatthias Ringwald      9.73508812e-01,  9.77556541e-01,  9.81507226e-01,  9.85364580e-01,
1859*9a19cd78SMatthias Ringwald      9.89126209e-01,  9.92794201e-01,  9.96367545e-01,  9.99846919e-01,
1860*9a19cd78SMatthias Ringwald      1.00322812e+00,  1.00651341e+00,  1.00970073e+00,  1.01279029e+00,
1861*9a19cd78SMatthias Ringwald      1.01578293e+00,  1.01868229e+00,  1.02148657e+00,  1.02419772e+00,
1862*9a19cd78SMatthias Ringwald      1.02681455e+00,  1.02933598e+00,  1.03176043e+00,  1.03408981e+00,
1863*9a19cd78SMatthias Ringwald      1.03632326e+00,  1.03846361e+00,  1.04051196e+00,  1.04246831e+00,
1864*9a19cd78SMatthias Ringwald      1.04433331e+00,  1.04610837e+00,  1.04779018e+00,  1.04938334e+00,
1865*9a19cd78SMatthias Ringwald      1.05088565e+00,  1.05229923e+00,  1.05362522e+00,  1.05486289e+00,
1866*9a19cd78SMatthias Ringwald      1.05601521e+00,  1.05708746e+00,  1.05807221e+00,  1.05897524e+00,
1867*9a19cd78SMatthias Ringwald      1.05979447e+00,  1.06053414e+00,  1.06119412e+00,  1.06177366e+00,
1868*9a19cd78SMatthias Ringwald      1.06227662e+00,  1.06270324e+00,  1.06305569e+00,  1.06333815e+00,
1869*9a19cd78SMatthias Ringwald      1.06354800e+00,  1.06368607e+00,  1.06375557e+00,  1.06375743e+00,
1870*9a19cd78SMatthias Ringwald      1.06369358e+00,  1.06356632e+00,  1.06337707e+00,  1.06312782e+00,
1871*9a19cd78SMatthias Ringwald      1.06282156e+00,  1.06245782e+00,  1.06203634e+00,  1.06155996e+00,
1872*9a19cd78SMatthias Ringwald      1.06102951e+00,  1.06044797e+00,  1.05981709e+00,  1.05914163e+00,
1873*9a19cd78SMatthias Ringwald      1.05842136e+00,  1.05765876e+00,  1.05685377e+00,  1.05600761e+00,
1874*9a19cd78SMatthias Ringwald      1.05512006e+00,  1.05419505e+00,  1.05323346e+00,  1.05223985e+00,
1875*9a19cd78SMatthias Ringwald      1.05121668e+00,  1.05016637e+00,  1.04908779e+00,  1.04798366e+00,
1876*9a19cd78SMatthias Ringwald      1.04685334e+00,  1.04569860e+00,  1.04452056e+00,  1.04332348e+00,
1877*9a19cd78SMatthias Ringwald      1.04210831e+00,  1.04087907e+00,  1.03963603e+00,  1.03838099e+00,
1878*9a19cd78SMatthias Ringwald      1.03711403e+00,  1.03583813e+00,  1.03455276e+00,  1.03326200e+00,
1879*9a19cd78SMatthias Ringwald      1.03196750e+00,  1.03067200e+00,  1.02937564e+00,  1.02808244e+00,
1880*9a19cd78SMatthias Ringwald      1.02679167e+00,  1.02550635e+00,  1.02422655e+00,  1.02295558e+00,
1881*9a19cd78SMatthias Ringwald      1.02169299e+00,  1.02044475e+00,  1.01920733e+00,  1.01799992e+00,
1882*9a19cd78SMatthias Ringwald      1.01716022e+00,  1.01587289e+00,  1.01461783e+00,  1.01339738e+00,
1883*9a19cd78SMatthias Ringwald      1.01221017e+00,  1.01105652e+00,  1.00993444e+00,  1.00884559e+00,
1884*9a19cd78SMatthias Ringwald      1.00778956e+00,  1.00676790e+00,  1.00577851e+00,  1.00482173e+00,
1885*9a19cd78SMatthias Ringwald      1.00389592e+00,  1.00300262e+00,  1.00214091e+00,  1.00131213e+00,
1886*9a19cd78SMatthias Ringwald      1.00051460e+00,  9.99748988e-01,  9.99013486e-01,  9.98309229e-01,
1887*9a19cd78SMatthias Ringwald      9.97634934e-01,  9.96991885e-01,  9.96378601e-01,  9.95795982e-01,
1888*9a19cd78SMatthias Ringwald      9.95242217e-01,  9.94718132e-01,  9.94222122e-01,  9.93755313e-01,
1889*9a19cd78SMatthias Ringwald      9.93316216e-01,  9.92905809e-01,  9.92522422e-01,  9.92166957e-01,
1890*9a19cd78SMatthias Ringwald      9.91837704e-01,  9.91535508e-01,  9.91258603e-01,  9.91007878e-01,
1891*9a19cd78SMatthias Ringwald      9.90781723e-01,  9.90581104e-01,  9.90404336e-01,  9.90252267e-01,
1892*9a19cd78SMatthias Ringwald      9.90123118e-01,  9.90017726e-01,  9.89934325e-01,  9.89873712e-01,
1893*9a19cd78SMatthias Ringwald      9.89834110e-01,  9.89816359e-01,  9.89818707e-01,  9.89841998e-01,
1894*9a19cd78SMatthias Ringwald      9.89884438e-01,  9.89946800e-01,  9.90027287e-01,  9.90126680e-01,
1895*9a19cd78SMatthias Ringwald      9.90243175e-01,  9.90377594e-01,  9.90528134e-01,  9.90695564e-01,
1896*9a19cd78SMatthias Ringwald      9.90878043e-01,  9.91076302e-01,  9.91288540e-01,  9.91515602e-01,
1897*9a19cd78SMatthias Ringwald      9.91755666e-01,  9.92009469e-01,  9.92275155e-01,  9.92553486e-01,
1898*9a19cd78SMatthias Ringwald      9.92842693e-01,  9.93143533e-01,  9.93454080e-01,  9.93775067e-01,
1899*9a19cd78SMatthias Ringwald      9.94104689e-01,  9.94443742e-01,  9.94790398e-01,  9.95145361e-01,
1900*9a19cd78SMatthias Ringwald      9.95506800e-01,  9.95875534e-01,  9.96249681e-01,  9.96629919e-01,
1901*9a19cd78SMatthias Ringwald      9.97014367e-01,  9.97403799e-01,  9.97796404e-01,  9.98192871e-01,
1902*9a19cd78SMatthias Ringwald      9.98591286e-01,  9.98992436e-01,  9.99394506e-01,  9.99798247e-01,
1903*9a19cd78SMatthias Ringwald      1.00020179e+00,  1.00060586e+00,  1.00100858e+00,  1.00141070e+00,
1904*9a19cd78SMatthias Ringwald      1.00181040e+00,  1.00220846e+00,  1.00260296e+00,  1.00299457e+00,
1905*9a19cd78SMatthias Ringwald      1.00338148e+00,  1.00376444e+00,  1.00414155e+00,  1.00451348e+00,
1906*9a19cd78SMatthias Ringwald      1.00487832e+00,  1.00523688e+00,  1.00558730e+00,  1.00593027e+00,
1907*9a19cd78SMatthias Ringwald      1.00626393e+00,  1.00658905e+00,  1.00690380e+00,  1.00720890e+00,
1908*9a19cd78SMatthias Ringwald      1.00750238e+00,  1.00778498e+00,  1.00805489e+00,  1.00831287e+00,
1909*9a19cd78SMatthias Ringwald      1.00855700e+00,  1.00878802e+00,  1.00900405e+00,  1.00920593e+00,
1910*9a19cd78SMatthias Ringwald      1.00939182e+00,  1.00956244e+00,  1.00971590e+00,  1.00985296e+00,
1911*9a19cd78SMatthias Ringwald      1.00997177e+00,  1.01007317e+00,  1.01015529e+00,  1.01021893e+00,
1912*9a19cd78SMatthias Ringwald      1.01026225e+00,  1.01028602e+00,  1.01028842e+00,  1.01027030e+00,
1913*9a19cd78SMatthias Ringwald      1.01022988e+00,  1.01016802e+00,  1.01008292e+00,  1.00997541e+00,
1914*9a19cd78SMatthias Ringwald      1.00984369e+00,  1.00968863e+00,  1.00950846e+00,  1.00930404e+00,
1915*9a19cd78SMatthias Ringwald      1.00907371e+00,  1.00881848e+00,  1.00853675e+00,  1.00822947e+00,
1916*9a19cd78SMatthias Ringwald      1.00789488e+00,  1.00753391e+00,  1.00714488e+00,  1.00672876e+00,
1917*9a19cd78SMatthias Ringwald      1.00628393e+00,  1.00581146e+00,  1.00530991e+00,  1.00478053e+00,
1918*9a19cd78SMatthias Ringwald      1.00422177e+00,  1.00363456e+00,  1.00301719e+00,  1.00237067e+00,
1919*9a19cd78SMatthias Ringwald      1.00169363e+00,  1.00098749e+00,  1.00025108e+00,  9.99485663e-01,
1920*9a19cd78SMatthias Ringwald      9.98689592e-01,  9.97863666e-01,  9.97006370e-01,  9.96119199e-01,
1921*9a19cd78SMatthias Ringwald      9.95201404e-01,  9.94254687e-01,  9.93277595e-01,  9.92270651e-01,
1922*9a19cd78SMatthias Ringwald      9.91231967e-01,  9.90163286e-01,  9.89064394e-01,  9.87937115e-01,
1923*9a19cd78SMatthias Ringwald      9.86779736e-01,  9.85592773e-01,  9.84375125e-01,  9.83129288e-01,
1924*9a19cd78SMatthias Ringwald      9.81348463e-01,  9.79890963e-01,  9.78400459e-01,  9.76860435e-01,
1925*9a19cd78SMatthias Ringwald      9.75269879e-01,  9.73627353e-01,  9.71931341e-01,  9.70180498e-01,
1926*9a19cd78SMatthias Ringwald      9.68372652e-01,  9.66506952e-01,  9.64580027e-01,  9.62592318e-01,
1927*9a19cd78SMatthias Ringwald      9.60540986e-01,  9.58425534e-01,  9.56244393e-01,  9.53998416e-01,
1928*9a19cd78SMatthias Ringwald      9.51684014e-01,  9.49301185e-01,  9.46846884e-01,  9.44320232e-01,
1929*9a19cd78SMatthias Ringwald      9.41718404e-01,  9.39042580e-01,  9.36290624e-01,  9.33464050e-01,
1930*9a19cd78SMatthias Ringwald      9.30560854e-01,  9.27580507e-01,  9.24519592e-01,  9.21378471e-01,
1931*9a19cd78SMatthias Ringwald      9.18153414e-01,  9.14844696e-01,  9.11451652e-01,  9.07976524e-01,
1932*9a19cd78SMatthias Ringwald      9.04417545e-01,  9.00776308e-01,  8.97050058e-01,  8.93238398e-01,
1933*9a19cd78SMatthias Ringwald      8.89338681e-01,  8.85351360e-01,  8.81274023e-01,  8.77109638e-01,
1934*9a19cd78SMatthias Ringwald      8.72857927e-01,  8.68519505e-01,  8.64092796e-01,  8.59579819e-01,
1935*9a19cd78SMatthias Ringwald      8.54976007e-01,  8.50285220e-01,  8.45502615e-01,  8.40630470e-01,
1936*9a19cd78SMatthias Ringwald      8.35667925e-01,  8.30619943e-01,  8.25482007e-01,  8.20258909e-01,
1937*9a19cd78SMatthias Ringwald      8.14946648e-01,  8.09546696e-01,  8.04059978e-01,  7.98489378e-01,
1938*9a19cd78SMatthias Ringwald      7.92831417e-01,  7.87090668e-01,  7.81262450e-01,  7.75353947e-01,
1939*9a19cd78SMatthias Ringwald      7.69363613e-01,  7.63291769e-01,  7.57139016e-01,  7.50901711e-01,
1940*9a19cd78SMatthias Ringwald      7.44590843e-01,  7.38205136e-01,  7.31738075e-01,  7.25199287e-01,
1941*9a19cd78SMatthias Ringwald      7.18588225e-01,  7.11905687e-01,  7.05153668e-01,  6.98332634e-01,
1942*9a19cd78SMatthias Ringwald      6.91444101e-01,  6.84490545e-01,  6.77470119e-01,  6.70388375e-01,
1943*9a19cd78SMatthias Ringwald      6.63245210e-01,  6.56045780e-01,  6.48788627e-01,  6.41477162e-01,
1944*9a19cd78SMatthias Ringwald      6.34114323e-01,  6.26702000e-01,  6.19235334e-01,  6.11720596e-01,
1945*9a19cd78SMatthias Ringwald      6.04161612e-01,  5.96559133e-01,  5.88914401e-01,  5.81234783e-01,
1946*9a19cd78SMatthias Ringwald      5.73519989e-01,  5.65770616e-01,  5.57988067e-01,  5.50173851e-01,
1947*9a19cd78SMatthias Ringwald      5.42330194e-01,  5.34460798e-01,  5.26568538e-01,  5.18656324e-01,
1948*9a19cd78SMatthias Ringwald      5.10728813e-01,  5.02781159e-01,  4.94819491e-01,  4.86845139e-01,
1949*9a19cd78SMatthias Ringwald      4.78860889e-01,  4.70869928e-01,  4.62875144e-01,  4.54877894e-01,
1950*9a19cd78SMatthias Ringwald      4.46882512e-01,  4.38889325e-01,  4.30898123e-01,  4.22918322e-01,
1951*9a19cd78SMatthias Ringwald      4.14950878e-01,  4.06993964e-01,  3.99052648e-01,  3.91134614e-01,
1952*9a19cd78SMatthias Ringwald      3.83234031e-01,  3.75354653e-01,  3.67502060e-01,  3.59680098e-01,
1953*9a19cd78SMatthias Ringwald      3.51887312e-01,  3.44130166e-01,  3.36408100e-01,  3.28728966e-01,
1954*9a19cd78SMatthias Ringwald      3.21090505e-01,  3.13496418e-01,  3.05951565e-01,  2.98454319e-01,
1955*9a19cd78SMatthias Ringwald      2.91010565e-01,  2.83621109e-01,  2.76285415e-01,  2.69019585e-01,
1956*9a19cd78SMatthias Ringwald      2.61812445e-01,  2.54659232e-01,  2.47584348e-01,  2.40578694e-01,
1957*9a19cd78SMatthias Ringwald      2.33647009e-01,  2.26788433e-01,  2.20001992e-01,  2.13301325e-01,
1958*9a19cd78SMatthias Ringwald      2.06677771e-01,  2.00140409e-01,  1.93683630e-01,  1.87310343e-01,
1959*9a19cd78SMatthias Ringwald      1.81027384e-01,  1.74839476e-01,  1.68739644e-01,  1.62737273e-01,
1960*9a19cd78SMatthias Ringwald      1.56825277e-01,  1.51012382e-01,  1.45298230e-01,  1.39687469e-01,
1961*9a19cd78SMatthias Ringwald      1.34171842e-01,  1.28762544e-01,  1.23455562e-01,  1.18254662e-01,
1962*9a19cd78SMatthias Ringwald      1.13159677e-01,  1.08171439e-01,  1.03290734e-01,  9.85202978e-02,
1963*9a19cd78SMatthias Ringwald      9.38600023e-02,  8.93117360e-02,  8.48752103e-02,  8.05523737e-02,
1964*9a19cd78SMatthias Ringwald      7.63429787e-02,  7.22489246e-02,  6.82699120e-02,  6.44077291e-02,
1965*9a19cd78SMatthias Ringwald      6.06620003e-02,  5.70343711e-02,  5.35243715e-02,  5.01334690e-02,
1966*9a19cd78SMatthias Ringwald      4.68610790e-02,  4.37084453e-02,  4.06748365e-02,  3.77612269e-02,
1967*9a19cd78SMatthias Ringwald      3.49667099e-02,  3.22919275e-02,  2.97357669e-02,  2.72984629e-02,
1968*9a19cd78SMatthias Ringwald      2.49787186e-02,  2.27762542e-02,  2.06895808e-02,  1.87178169e-02,
1969*9a19cd78SMatthias Ringwald      1.68593418e-02,  1.51125125e-02,  1.34757094e-02,  1.19462709e-02,
1970*9a19cd78SMatthias Ringwald      1.05228754e-02,  9.20130941e-03,  7.98124316e-03,  6.85547314e-03,
1971*9a19cd78SMatthias Ringwald      5.82657334e-03,  4.87838525e-03,  4.02351119e-03,  3.15418663e-03,
1972*9a19cd78SMatthias Ringwald };
1973*9a19cd78SMatthias Ringwald 
1974*9a19cd78SMatthias Ringwald const float *lc3_mdct_win[LC3_NUM_DT][LC3_NUM_SRATE] = {
1975*9a19cd78SMatthias Ringwald 
1976*9a19cd78SMatthias Ringwald     [LC3_DT_7M5] = {
1977*9a19cd78SMatthias Ringwald         [LC3_SRATE_8K ] = mdct_win_7m5_60,
1978*9a19cd78SMatthias Ringwald         [LC3_SRATE_16K] = mdct_win_7m5_120,
1979*9a19cd78SMatthias Ringwald         [LC3_SRATE_24K] = mdct_win_7m5_180,
1980*9a19cd78SMatthias Ringwald         [LC3_SRATE_32K] = mdct_win_7m5_240,
1981*9a19cd78SMatthias Ringwald         [LC3_SRATE_48K] = mdct_win_7m5_360,
1982*9a19cd78SMatthias Ringwald     },
1983*9a19cd78SMatthias Ringwald 
1984*9a19cd78SMatthias Ringwald     [LC3_DT_10M] = {
1985*9a19cd78SMatthias Ringwald         [LC3_SRATE_8K ] = mdct_win_10m_80,
1986*9a19cd78SMatthias Ringwald         [LC3_SRATE_16K] = mdct_win_10m_160,
1987*9a19cd78SMatthias Ringwald         [LC3_SRATE_24K] = mdct_win_10m_240,
1988*9a19cd78SMatthias Ringwald         [LC3_SRATE_32K] = mdct_win_10m_320,
1989*9a19cd78SMatthias Ringwald         [LC3_SRATE_48K] = mdct_win_10m_480,
1990*9a19cd78SMatthias Ringwald     },
1991*9a19cd78SMatthias Ringwald };
1992*9a19cd78SMatthias Ringwald 
1993*9a19cd78SMatthias Ringwald 
1994*9a19cd78SMatthias Ringwald /**
1995*9a19cd78SMatthias Ringwald  * Bands limits (cf. 3.7.1-2)
1996*9a19cd78SMatthias Ringwald  */
1997*9a19cd78SMatthias Ringwald 
1998*9a19cd78SMatthias Ringwald const int lc3_band_lim[LC3_NUM_DT][LC3_NUM_SRATE][LC3_NUM_BANDS+1] = {
1999*9a19cd78SMatthias Ringwald 
2000*9a19cd78SMatthias Ringwald     [LC3_DT_7M5] = {
2001*9a19cd78SMatthias Ringwald 
2002*9a19cd78SMatthias Ringwald         [LC3_SRATE_8K ] = {
2003*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2004*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2005*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
2006*9a19cd78SMatthias Ringwald              30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
2007*9a19cd78SMatthias Ringwald              40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
2008*9a19cd78SMatthias Ringwald              50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
2009*9a19cd78SMatthias Ringwald              60,  60,  60,  60,  60                          },
2010*9a19cd78SMatthias Ringwald 
2011*9a19cd78SMatthias Ringwald         [LC3_SRATE_16K] = {
2012*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2013*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2014*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
2015*9a19cd78SMatthias Ringwald              30,  31,  32,  33,  34,  36,  38,  40,  42,  44,
2016*9a19cd78SMatthias Ringwald              46,  48,  50,  52,  54,  56,  58,  60,  62,  65,
2017*9a19cd78SMatthias Ringwald              68,  71,  74,  77,  80,  83,  86,  90,  94,  98,
2018*9a19cd78SMatthias Ringwald             102, 106, 110, 115, 120                          },
2019*9a19cd78SMatthias Ringwald 
2020*9a19cd78SMatthias Ringwald         [LC3_SRATE_24K] = {
2021*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2022*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2023*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  25,  26,  27,  29,  31,
2024*9a19cd78SMatthias Ringwald              33,  35,  37,  39,  41,  43,  45,  47,  49,  52,
2025*9a19cd78SMatthias Ringwald              55,  58,  61,  64,  67,  70,  74,  78,  82,  86,
2026*9a19cd78SMatthias Ringwald              90,  95, 100, 105, 110, 115, 121, 127, 134, 141,
2027*9a19cd78SMatthias Ringwald             148, 155, 163, 171, 180                          },
2028*9a19cd78SMatthias Ringwald 
2029*9a19cd78SMatthias Ringwald         [LC3_SRATE_32K] = {
2030*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2031*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2032*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  26,  28,  30,  32,  34,
2033*9a19cd78SMatthias Ringwald              36,  38,  40,  42,  45,  48,  51,  54,  57,  60,
2034*9a19cd78SMatthias Ringwald              63,  67,  71,  75,  79,  84,  89,  94,  99, 105,
2035*9a19cd78SMatthias Ringwald             111, 117, 124, 131, 138, 146, 154, 163, 172, 182,
2036*9a19cd78SMatthias Ringwald             192, 203, 215, 227, 240                          },
2037*9a19cd78SMatthias Ringwald 
2038*9a19cd78SMatthias Ringwald         [LC3_SRATE_48K] = {
2039*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2040*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2041*9a19cd78SMatthias Ringwald              20,  21,  22,  24,  26,  28,  30,  32,  34,  36,
2042*9a19cd78SMatthias Ringwald              38,  40,  43,  46,  49,  52,  55,  59,  63,  67,
2043*9a19cd78SMatthias Ringwald              71,  75,  80,  85,  90,  96, 102, 108, 115, 122,
2044*9a19cd78SMatthias Ringwald             129, 137, 146, 155, 165, 175, 186, 197, 209, 222,
2045*9a19cd78SMatthias Ringwald             236, 251, 266, 283, 300                          },
2046*9a19cd78SMatthias Ringwald     },
2047*9a19cd78SMatthias Ringwald 
2048*9a19cd78SMatthias Ringwald     [LC3_DT_10M] = {
2049*9a19cd78SMatthias Ringwald 
2050*9a19cd78SMatthias Ringwald         [LC3_SRATE_8K ] = {
2051*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2052*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2053*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
2054*9a19cd78SMatthias Ringwald              30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
2055*9a19cd78SMatthias Ringwald              40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
2056*9a19cd78SMatthias Ringwald              51,  53,  55,  57,  59,  61,  63,  65,  67,  69,
2057*9a19cd78SMatthias Ringwald              71,  73,  75,  77,  80                          },
2058*9a19cd78SMatthias Ringwald 
2059*9a19cd78SMatthias Ringwald         [LC3_SRATE_16K] = {
2060*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2061*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2062*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  24,  25,  26,  27,  28,  30,
2063*9a19cd78SMatthias Ringwald              32,  34,  36,  38,  40,  42,  44,  46,  48,  50,
2064*9a19cd78SMatthias Ringwald              52,  55,  58,  61,  64,  67,  70,  73,  76,  80,
2065*9a19cd78SMatthias Ringwald              84,  88,  92,  96, 101, 106, 111, 116, 121, 127,
2066*9a19cd78SMatthias Ringwald             133, 139, 146, 153, 160                          },
2067*9a19cd78SMatthias Ringwald 
2068*9a19cd78SMatthias Ringwald         [LC3_SRATE_24K] = {
2069*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2070*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2071*9a19cd78SMatthias Ringwald              20,  21,  22,  23,  25,  27,  29,  31,  33,  35,
2072*9a19cd78SMatthias Ringwald              37,  39,  41,  43,  46,  49,  52,  55,  58,  61,
2073*9a19cd78SMatthias Ringwald              64,  68,  72,  76,  80,  85,  90,  95, 100, 106,
2074*9a19cd78SMatthias Ringwald             112, 118, 125, 132, 139, 147, 155, 164, 173, 183,
2075*9a19cd78SMatthias Ringwald             193, 204, 215, 227, 240                          },
2076*9a19cd78SMatthias Ringwald 
2077*9a19cd78SMatthias Ringwald         [LC3_SRATE_32K] = {
2078*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2079*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
2080*9a19cd78SMatthias Ringwald              20,  22,  24,  26,  28,  30,  32,  34,  36,  38,
2081*9a19cd78SMatthias Ringwald              41,  44,  47,  50,  53,  56,  60,  64,  68,  72,
2082*9a19cd78SMatthias Ringwald              76,  81,  86,  91,  97, 103, 109, 116, 123, 131,
2083*9a19cd78SMatthias Ringwald             139, 148, 157, 166, 176, 187, 199, 211, 224, 238,
2084*9a19cd78SMatthias Ringwald             252, 268, 284, 302, 320                          },
2085*9a19cd78SMatthias Ringwald 
2086*9a19cd78SMatthias Ringwald         [LC3_SRATE_48K] = {
2087*9a19cd78SMatthias Ringwald               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
2088*9a19cd78SMatthias Ringwald              10,  11,  12,  13,  14,  15,  16,  17,  18,  20,
2089*9a19cd78SMatthias Ringwald              22,  24,  26,  28,  30,  32,  34,  36,  39,  42,
2090*9a19cd78SMatthias Ringwald              45,  48,  51,  55,  59,  63,  67,  71,  76,  81,
2091*9a19cd78SMatthias Ringwald              86,  92,  98, 105, 112, 119, 127, 135, 144, 154,
2092*9a19cd78SMatthias Ringwald             164, 175, 186, 198, 211, 225, 240, 256, 273, 291,
2093*9a19cd78SMatthias Ringwald             310, 330, 352, 375, 400                          },
2094*9a19cd78SMatthias Ringwald     }
2095*9a19cd78SMatthias Ringwald };
2096*9a19cd78SMatthias Ringwald 
2097*9a19cd78SMatthias Ringwald 
2098*9a19cd78SMatthias Ringwald /**
2099*9a19cd78SMatthias Ringwald  * SNS Quantization (cf. 3.7.4)
2100*9a19cd78SMatthias Ringwald  */
2101*9a19cd78SMatthias Ringwald 
2102*9a19cd78SMatthias Ringwald const float lc3_sns_lfcb[32][8] = {
2103*9a19cd78SMatthias Ringwald 
2104*9a19cd78SMatthias Ringwald     {  2.26283366e+00,  8.13311269e-01, -5.30193495e-01, -1.35664836e+00,
2105*9a19cd78SMatthias Ringwald       -1.59952177e+00, -1.44098768e+00, -1.14381648e+00, -7.55203768e-01 },
2106*9a19cd78SMatthias Ringwald 
2107*9a19cd78SMatthias Ringwald     {  2.94516479e+00,  2.41143318e+00,  9.60455106e-01, -4.43226488e-01,
2108*9a19cd78SMatthias Ringwald       -1.22913612e+00, -1.55590039e+00, -1.49688656e+00, -1.11689987e+00 },
2109*9a19cd78SMatthias Ringwald 
2110*9a19cd78SMatthias Ringwald     { -2.18610707e+00, -1.97152136e+00, -1.78718620e+00, -1.91865896e+00,
2111*9a19cd78SMatthias Ringwald       -1.79399122e+00, -1.35738404e+00, -7.05444279e-01, -4.78172945e-02 },
2112*9a19cd78SMatthias Ringwald 
2113*9a19cd78SMatthias Ringwald     {  6.93688237e-01,  9.55609857e-01,  5.75230787e-01, -1.14603419e-01,
2114*9a19cd78SMatthias Ringwald       -6.46050637e-01, -9.52351370e-01, -1.07405247e+00, -7.58087707e-01 },
2115*9a19cd78SMatthias Ringwald 
2116*9a19cd78SMatthias Ringwald     { -1.29752132e+00, -7.40369057e-01, -3.45372484e-01, -3.13285696e-01,
2117*9a19cd78SMatthias Ringwald       -4.02977243e-01, -3.72020853e-01, -7.83414177e-02,  9.70441304e-02 },
2118*9a19cd78SMatthias Ringwald 
2119*9a19cd78SMatthias Ringwald     {  9.14652038e-01,  1.74293043e+00,  1.90906627e+00,  1.54408484e+00,
2120*9a19cd78SMatthias Ringwald        1.09344961e+00,  6.47479550e-01,  3.61790752e-02, -2.97092807e-01 },
2121*9a19cd78SMatthias Ringwald 
2122*9a19cd78SMatthias Ringwald     { -2.51428813e+00, -2.89175271e+00, -2.00450667e+00, -7.50912274e-01,
2123*9a19cd78SMatthias Ringwald        4.41202105e-01,  1.20190988e+00,  1.32742857e+00,  1.22049081e+00 },
2124*9a19cd78SMatthias Ringwald 
2125*9a19cd78SMatthias Ringwald     { -9.22188405e-01,  6.32495141e-01,  1.08736431e+00,  6.08628625e-01,
2126*9a19cd78SMatthias Ringwald        1.31174568e-01, -2.96149158e-01, -2.07013517e-01,  1.34924917e-01 },
2127*9a19cd78SMatthias Ringwald 
2128*9a19cd78SMatthias Ringwald     {  7.90322288e-01,  6.28401262e-01,  3.93117924e-01,  4.80007711e-01,
2129*9a19cd78SMatthias Ringwald        4.47815138e-01,  2.09734215e-01,  6.56691996e-03, -8.61242342e-02 },
2130*9a19cd78SMatthias Ringwald 
2131*9a19cd78SMatthias Ringwald     {  1.44775580e+00,  2.72399952e+00,  2.31083269e+00,  9.35051270e-01,
2132*9a19cd78SMatthias Ringwald       -2.74743911e-01, -9.02077697e-01, -9.40681512e-01, -6.33697039e-01 },
2133*9a19cd78SMatthias Ringwald 
2134*9a19cd78SMatthias Ringwald     {  7.93354526e-01,  1.43931186e-02, -5.67834845e-01, -6.54760468e-01,
2135*9a19cd78SMatthias Ringwald       -4.79458998e-01, -1.73894662e-01,  6.80162706e-02,  2.95125948e-01 },
2136*9a19cd78SMatthias Ringwald 
2137*9a19cd78SMatthias Ringwald     {  2.72425347e+00,  2.95947572e+00,  1.84953559e+00,  5.63284922e-01,
2138*9a19cd78SMatthias Ringwald        1.39917088e-01,  3.59641093e-01,  6.89461355e-01,  6.39790177e-01 },
2139*9a19cd78SMatthias Ringwald 
2140*9a19cd78SMatthias Ringwald     { -5.30830198e-01, -2.12690683e-01,  5.76613628e-03,  4.24871484e-01,
2141*9a19cd78SMatthias Ringwald        4.73128952e-01,  8.58894199e-01,  1.19111161e+00,  9.96189670e-01 },
2142*9a19cd78SMatthias Ringwald 
2143*9a19cd78SMatthias Ringwald     {  1.68728411e+00,  2.43614509e+00,  2.33019429e+00,  1.77983778e+00,
2144*9a19cd78SMatthias Ringwald        1.44411295e+00,  1.51995177e+00,  1.47199394e+00,  9.77682474e-01 },
2145*9a19cd78SMatthias Ringwald 
2146*9a19cd78SMatthias Ringwald     { -2.95183273e+00, -1.59393497e+00, -1.09918773e-01,  3.88609073e-01,
2147*9a19cd78SMatthias Ringwald        5.12932650e-01,  6.28112597e-01,  8.22621796e-01,  8.75891425e-01 },
2148*9a19cd78SMatthias Ringwald 
2149*9a19cd78SMatthias Ringwald     {  1.01878343e-01,  5.89857324e-01,  6.19047647e-01,  1.26731314e+00,
2150*9a19cd78SMatthias Ringwald        2.41961048e+00,  2.25174253e+00,  5.26537031e-01, -3.96591513e-01 },
2151*9a19cd78SMatthias Ringwald 
2152*9a19cd78SMatthias Ringwald     {  2.68254575e+00,  1.32738011e+00,  1.30185274e-01, -3.38533089e-01,
2153*9a19cd78SMatthias Ringwald       -3.68219236e-01, -1.91689947e-01, -1.54782377e-01, -2.34207178e-01 },
2154*9a19cd78SMatthias Ringwald 
2155*9a19cd78SMatthias Ringwald     {  4.82697924e+00,  3.11947804e+00,  1.39513671e+00,  2.50295316e-01,
2156*9a19cd78SMatthias Ringwald       -3.93613839e-01, -6.43458173e-01, -6.42570737e-01, -7.23193223e-01 },
2157*9a19cd78SMatthias Ringwald 
2158*9a19cd78SMatthias Ringwald     {  8.78419936e-02, -5.69586840e-01, -1.14506016e+00, -1.66968488e+00,
2159*9a19cd78SMatthias Ringwald       -1.84534418e+00, -1.56468027e+00, -1.11746759e+00, -5.33981663e-01 },
2160*9a19cd78SMatthias Ringwald 
2161*9a19cd78SMatthias Ringwald     {  1.39102308e+00,  1.98146479e+00,  1.11265796e+00, -2.20107509e-01,
2162*9a19cd78SMatthias Ringwald       -7.74965612e-01, -5.94063874e-01,  1.36937681e-01,  8.18242891e-01 },
2163*9a19cd78SMatthias Ringwald 
2164*9a19cd78SMatthias Ringwald     {  3.84585894e-01, -1.60588786e-01, -5.39366810e-01, -5.29309079e-01,
2165*9a19cd78SMatthias Ringwald        1.90433547e-01,  2.56062918e+00,  2.81896398e+00,  6.56670876e-01 },
2166*9a19cd78SMatthias Ringwald 
2167*9a19cd78SMatthias Ringwald     {  1.93227399e+00,  3.01030180e+00,  3.06543894e+00,  2.50110161e+00,
2168*9a19cd78SMatthias Ringwald        1.93089593e+00,  5.72153811e-01, -8.11741794e-01, -1.17641811e+00 },
2169*9a19cd78SMatthias Ringwald 
2170*9a19cd78SMatthias Ringwald     {  1.75080463e-01, -7.50522832e-01, -1.03943893e+00, -1.13577509e+00,
2171*9a19cd78SMatthias Ringwald       -1.04197904e+00, -1.52060099e-02,  2.07048392e+00,  3.42948918e+00 },
2172*9a19cd78SMatthias Ringwald 
2173*9a19cd78SMatthias Ringwald     { -1.18817020e+00,  3.66792874e-01,  1.30957830e+00,  1.68330687e+00,
2174*9a19cd78SMatthias Ringwald        1.25100924e+00,  9.42375752e-01,  8.26250483e-01,  4.39952741e-01 },
2175*9a19cd78SMatthias Ringwald 
2176*9a19cd78SMatthias Ringwald     {  2.53322203e+00,  2.11274643e+00,  1.26288412e+00,  7.61513512e-01,
2177*9a19cd78SMatthias Ringwald        5.22117938e-01,  1.18680070e-01, -4.52346828e-01, -7.00352426e-01 },
2178*9a19cd78SMatthias Ringwald 
2179*9a19cd78SMatthias Ringwald     {  3.99889837e+00,  4.07901751e+00,  2.82285661e+00,  1.72607213e+00,
2180*9a19cd78SMatthias Ringwald        6.47144377e-01, -3.31148521e-01, -8.84042571e-01, -1.12697341e+00 },
2181*9a19cd78SMatthias Ringwald 
2182*9a19cd78SMatthias Ringwald     {  5.07902593e-01,  1.58838450e+00,  1.72899024e+00,  1.00692230e+00,
2183*9a19cd78SMatthias Ringwald        3.77121232e-01,  4.76370767e-01,  1.08754740e+00,  1.08756266e+00 },
2184*9a19cd78SMatthias Ringwald 
2185*9a19cd78SMatthias Ringwald     {  3.16856825e+00,  3.25853458e+00,  2.42230591e+00,  1.79446078e+00,
2186*9a19cd78SMatthias Ringwald        1.52177911e+00,  1.17196707e+00,  4.89394597e-01, -6.22795716e-02 },
2187*9a19cd78SMatthias Ringwald 
2188*9a19cd78SMatthias Ringwald     {  1.89414767e+00,  1.25108695e+00,  5.90451211e-01,  6.08358583e-01,
2189*9a19cd78SMatthias Ringwald        8.78171010e-01,  1.11912511e+00,  1.01857662e+00,  6.20453891e-01 },
2190*9a19cd78SMatthias Ringwald 
2191*9a19cd78SMatthias Ringwald     {  9.48880605e-01,  2.13239439e+00,  2.72345350e+00,  2.76986077e+00,
2192*9a19cd78SMatthias Ringwald        2.54286973e+00,  2.02046264e+00,  8.30045859e-01, -2.75569174e-02 },
2193*9a19cd78SMatthias Ringwald 
2194*9a19cd78SMatthias Ringwald     { -1.88026757e+00, -1.26431073e+00,  3.11424977e-01,  1.83670210e+00,
2195*9a19cd78SMatthias Ringwald        2.25634192e+00,  2.04818998e+00,  2.19526837e+00,  2.02659614e+00 },
2196*9a19cd78SMatthias Ringwald 
2197*9a19cd78SMatthias Ringwald     {  2.46375746e-01,  9.55621773e-01,  1.52046777e+00,  1.97647400e+00,
2198*9a19cd78SMatthias Ringwald        1.94043867e+00,  2.23375847e+00,  1.98835978e+00,  1.27232673e+00 },
2199*9a19cd78SMatthias Ringwald 
2200*9a19cd78SMatthias Ringwald };
2201*9a19cd78SMatthias Ringwald 
2202*9a19cd78SMatthias Ringwald const float lc3_sns_hfcb[32][8] = {
2203*9a19cd78SMatthias Ringwald 
2204*9a19cd78SMatthias Ringwald     {  2.32028419e-01, -1.00890271e+00, -2.14223503e+00, -2.37533814e+00,
2205*9a19cd78SMatthias Ringwald       -2.23041933e+00, -2.17595881e+00, -2.29065914e+00, -2.53286398e+00 },
2206*9a19cd78SMatthias Ringwald 
2207*9a19cd78SMatthias Ringwald     { -1.29503937e+00, -1.79929965e+00, -1.88703148e+00, -1.80991660e+00,
2208*9a19cd78SMatthias Ringwald       -1.76340038e+00, -1.83418428e+00, -1.80480981e+00, -1.73679545e+00 },
2209*9a19cd78SMatthias Ringwald 
2210*9a19cd78SMatthias Ringwald     {  1.39285716e-01, -2.58185126e-01, -6.50804573e-01, -1.06815732e+00,
2211*9a19cd78SMatthias Ringwald       -1.61928742e+00, -2.18762566e+00, -2.63757587e+00, -2.97897750e+00 },
2212*9a19cd78SMatthias Ringwald 
2213*9a19cd78SMatthias Ringwald     { -3.16513102e-01, -4.77747657e-01, -5.51162076e-01, -4.84788283e-01,
2214*9a19cd78SMatthias Ringwald       -2.38388394e-01, -1.43024507e-01,  6.83186674e-02,  8.83061717e-02 },
2215*9a19cd78SMatthias Ringwald 
2216*9a19cd78SMatthias Ringwald     {  8.79518405e-01,  2.98340096e-01, -9.15386396e-01, -2.20645975e+00,
2217*9a19cd78SMatthias Ringwald       -2.74142181e+00, -2.86139074e+00, -2.88841597e+00, -2.95182608e+00 },
2218*9a19cd78SMatthias Ringwald 
2219*9a19cd78SMatthias Ringwald     { -2.96701922e-01, -9.75004919e-01, -1.35857500e+00, -9.83721106e-01,
2220*9a19cd78SMatthias Ringwald       -6.52956939e-01, -9.89986993e-01, -1.61467225e+00, -2.40712302e+00 },
2221*9a19cd78SMatthias Ringwald 
2222*9a19cd78SMatthias Ringwald     {  3.40981100e-01,  2.68899789e-01,  5.63335685e-02,  4.99114047e-02,
2223*9a19cd78SMatthias Ringwald       -9.54130727e-02, -7.60166146e-01, -2.32758120e+00, -3.77155485e+00 },
2224*9a19cd78SMatthias Ringwald 
2225*9a19cd78SMatthias Ringwald     { -1.41229759e+00, -1.48522119e+00, -1.18603580e+00, -6.25001634e-01,
2226*9a19cd78SMatthias Ringwald        1.53902497e-01,  5.76386498e-01,  7.95092604e-01,  5.96564632e-01 },
2227*9a19cd78SMatthias Ringwald 
2228*9a19cd78SMatthias Ringwald     { -2.28839512e-01, -3.33719070e-01, -8.09321359e-01, -1.63587877e+00,
2229*9a19cd78SMatthias Ringwald       -1.88486397e+00, -1.64496691e+00, -1.40515778e+00, -1.46666471e+00 },
2230*9a19cd78SMatthias Ringwald 
2231*9a19cd78SMatthias Ringwald     { -1.07148629e+00, -1.41767015e+00, -1.54891762e+00, -1.45296062e+00,
2232*9a19cd78SMatthias Ringwald       -1.03182970e+00, -6.90642640e-01, -4.28843805e-01, -4.94960215e-01 },
2233*9a19cd78SMatthias Ringwald 
2234*9a19cd78SMatthias Ringwald     { -5.90988511e-01, -7.11737759e-02,  3.45719523e-01,  3.00549461e-01,
2235*9a19cd78SMatthias Ringwald       -1.11865218e+00, -2.44089151e+00, -2.22854732e+00, -1.89509228e+00 },
2236*9a19cd78SMatthias Ringwald 
2237*9a19cd78SMatthias Ringwald     { -8.48434099e-01, -5.83226811e-01,  9.00423688e-02,  8.45025008e-01,
2238*9a19cd78SMatthias Ringwald        1.06572385e+00,  7.37582999e-01,  2.56590452e-01, -4.91963360e-01 },
2239*9a19cd78SMatthias Ringwald 
2240*9a19cd78SMatthias Ringwald     {  1.14069146e+00,  9.64016892e-01,  3.81461206e-01, -4.82849341e-01,
2241*9a19cd78SMatthias Ringwald       -1.81632721e+00, -2.80279513e+00, -3.23385725e+00, -3.45908714e+00 },
2242*9a19cd78SMatthias Ringwald 
2243*9a19cd78SMatthias Ringwald     { -3.76283238e-01,  4.25675462e-02,  5.16547697e-01,  2.51716882e-01,
2244*9a19cd78SMatthias Ringwald       -2.16179968e-01, -5.34074091e-01, -6.40786096e-01, -8.69745032e-01 },
2245*9a19cd78SMatthias Ringwald 
2246*9a19cd78SMatthias Ringwald     {  6.65004121e-01,  1.09790765e+00,  1.38342667e+00,  1.34327359e+00,
2247*9a19cd78SMatthias Ringwald        8.22978837e-01,  2.15876799e-01, -4.04925753e-01, -1.07025606e+00 },
2248*9a19cd78SMatthias Ringwald 
2249*9a19cd78SMatthias Ringwald     { -8.26265954e-01, -6.71181233e-01, -2.28495593e-01,  5.18980853e-01,
2250*9a19cd78SMatthias Ringwald        1.36721896e+00,  2.18023038e+00,  2.53596093e+00,  2.20121099e+00 },
2251*9a19cd78SMatthias Ringwald 
2252*9a19cd78SMatthias Ringwald     {  1.41008327e+00,  7.54441908e-01, -1.30550585e+00, -1.87133711e+00,
2253*9a19cd78SMatthias Ringwald       -1.24008685e+00, -1.26712925e+00, -2.03670813e+00, -2.89685162e+00 },
2254*9a19cd78SMatthias Ringwald 
2255*9a19cd78SMatthias Ringwald     {  3.61386818e-01, -2.19991705e-02, -5.79368834e-01, -8.79427961e-01,
2256*9a19cd78SMatthias Ringwald       -8.50685023e-01, -7.79397050e-01, -7.32182927e-01, -8.88348515e-01 },
2257*9a19cd78SMatthias Ringwald 
2258*9a19cd78SMatthias Ringwald     {  4.37469239e-01,  3.05440420e-01, -7.38786566e-03, -4.95649855e-01,
2259*9a19cd78SMatthias Ringwald       -8.06651271e-01, -1.22431892e+00, -1.70157770e+00, -2.24491914e+00 },
2260*9a19cd78SMatthias Ringwald 
2261*9a19cd78SMatthias Ringwald     {  6.48100319e-01,  6.82299134e-01,  2.53247464e-01,  7.35842144e-02,
2262*9a19cd78SMatthias Ringwald        3.14216709e-01,  2.34729881e-01,  1.44600134e-01, -6.82120179e-02 },
2263*9a19cd78SMatthias Ringwald 
2264*9a19cd78SMatthias Ringwald     {  1.11919833e+00,  1.23465533e+00,  5.89170238e-01, -1.37192460e+00,
2265*9a19cd78SMatthias Ringwald       -2.37095707e+00, -2.00779783e+00, -1.66688540e+00, -1.92631846e+00 },
2266*9a19cd78SMatthias Ringwald 
2267*9a19cd78SMatthias Ringwald     {  1.41847497e-01, -1.10660071e-01, -2.82824593e-01, -6.59813475e-03,
2268*9a19cd78SMatthias Ringwald        2.85929280e-01,  4.60445530e-02, -6.02596416e-01, -2.26568729e+00 },
2269*9a19cd78SMatthias Ringwald 
2270*9a19cd78SMatthias Ringwald     {  5.04046955e-01,  8.26982163e-01,  1.11981236e+00,  1.17914044e+00,
2271*9a19cd78SMatthias Ringwald        1.07987429e+00,  6.97536239e-01, -9.12548817e-01, -3.57684747e+00 },
2272*9a19cd78SMatthias Ringwald 
2273*9a19cd78SMatthias Ringwald     { -5.01076050e-01, -3.25678006e-01,  2.80798195e-02,  2.62054555e-01,
2274*9a19cd78SMatthias Ringwald        3.60590806e-01,  6.35623722e-01,  9.59012467e-01,  1.30745157e+00 },
2275*9a19cd78SMatthias Ringwald 
2276*9a19cd78SMatthias Ringwald     {  3.74970983e+00,  1.52342612e+00, -4.57715662e-01, -7.98711008e-01,
2277*9a19cd78SMatthias Ringwald       -3.86819329e-01, -3.75901062e-01, -6.57836900e-01, -1.28163964e+00 },
2278*9a19cd78SMatthias Ringwald 
2279*9a19cd78SMatthias Ringwald     { -1.15258991e+00, -1.10800886e+00, -5.62615117e-01, -2.20562124e-01,
2280*9a19cd78SMatthias Ringwald       -3.49842880e-01, -7.53432770e-01, -9.88596593e-01, -1.28790472e+00 },
2281*9a19cd78SMatthias Ringwald 
2282*9a19cd78SMatthias Ringwald     {  1.02827246e+00,  1.09770519e+00,  7.68645546e-01,  2.06081978e-01,
2283*9a19cd78SMatthias Ringwald       -3.42805735e-01, -7.54939405e-01, -1.04196178e+00, -1.50335653e+00 },
2284*9a19cd78SMatthias Ringwald 
2285*9a19cd78SMatthias Ringwald     {  1.28831972e-01,  6.89439395e-01,  1.12346905e+00,  1.30934523e+00,
2286*9a19cd78SMatthias Ringwald        1.35511965e+00,  1.42311381e+00,  1.15706449e+00,  4.06319438e-01 },
2287*9a19cd78SMatthias Ringwald 
2288*9a19cd78SMatthias Ringwald     {  1.34033030e+00,  1.38996825e+00,  1.04467922e+00,  6.35822746e-01,
2289*9a19cd78SMatthias Ringwald       -2.74733756e-01, -1.54923372e+00, -2.44239710e+00, -3.02457607e+00 },
2290*9a19cd78SMatthias Ringwald 
2291*9a19cd78SMatthias Ringwald     {  2.13843105e+00,  4.24711267e+00,  2.89734110e+00,  9.32730658e-01,
2292*9a19cd78SMatthias Ringwald       -2.92822250e-01, -8.10404297e-01, -7.88868099e-01, -9.35353149e-01 },
2293*9a19cd78SMatthias Ringwald 
2294*9a19cd78SMatthias Ringwald     {  5.64830487e-01,  1.59184978e+00,  2.39771699e+00,  3.03697344e+00,
2295*9a19cd78SMatthias Ringwald        2.66424350e+00,  1.39304485e+00,  4.03834024e-01, -6.56270971e-01 },
2296*9a19cd78SMatthias Ringwald 
2297*9a19cd78SMatthias Ringwald     { -4.22460548e-01,  3.26149625e-01,  1.39171313e+00,  2.23146615e+00,
2298*9a19cd78SMatthias Ringwald        2.61179442e+00,  2.66540340e+00,  2.40103554e+00,  1.75920380e+00 },
2299*9a19cd78SMatthias Ringwald 
2300*9a19cd78SMatthias Ringwald };
2301*9a19cd78SMatthias Ringwald 
2302*9a19cd78SMatthias Ringwald const struct lc3_sns_vq_gains lc3_sns_vq_gains[4] = {
2303*9a19cd78SMatthias Ringwald 
2304*9a19cd78SMatthias Ringwald     { 2, (const float []){
2305*9a19cd78SMatthias Ringwald              8915.f / 4096, 12054.f / 4096 } },
2306*9a19cd78SMatthias Ringwald 
2307*9a19cd78SMatthias Ringwald     { 4, (const float []){
2308*9a19cd78SMatthias Ringwald              6245.f / 4096, 15043.f / 4096, 17861.f / 4096, 21014.f / 4096 } },
2309*9a19cd78SMatthias Ringwald 
2310*9a19cd78SMatthias Ringwald     { 4, (const float []){
2311*9a19cd78SMatthias Ringwald              7099.f / 4096,  9132.f / 4096, 11253.f / 4096, 14808.f / 4096 } },
2312*9a19cd78SMatthias Ringwald 
2313*9a19cd78SMatthias Ringwald     { 8, (const float []){
2314*9a19cd78SMatthias Ringwald              4336.f / 4096,  5067.f / 4096,  5895.f / 4096,  8149.f / 4096,
2315*9a19cd78SMatthias Ringwald             10235.f / 4096, 12825.f / 4096, 16868.f / 4096, 19882.f / 4096 } }
2316*9a19cd78SMatthias Ringwald };
2317*9a19cd78SMatthias Ringwald 
2318*9a19cd78SMatthias Ringwald const int32_t lc3_sns_mpvq_offsets[][11] = {
2319*9a19cd78SMatthias Ringwald     { 0, 1,  1,   1,    1,     1,      1,      1,      1,       1,       1 },
2320*9a19cd78SMatthias Ringwald     { 0, 1,  3,   5,    7,     9,     11,     13,     15,      17,      19 },
2321*9a19cd78SMatthias Ringwald     { 0, 1,  5,  13,   25,    41,     61,     85,    113,     145,     181 },
2322*9a19cd78SMatthias Ringwald     { 0, 1,  7,  25,   63,   129,    231,    377,    575,     833,    1159 },
2323*9a19cd78SMatthias Ringwald     { 0, 1,  9,  41,  129,   321,    681,   1289,   2241,    3649,    5641 },
2324*9a19cd78SMatthias Ringwald     { 0, 1, 11,  61,  231,   681,   1683,   3653,   7183,   13073  , 22363 },
2325*9a19cd78SMatthias Ringwald     { 0, 1, 13,  85,  377,  1289,   3653,   8989,  19825,   40081,   75517 },
2326*9a19cd78SMatthias Ringwald     { 0, 1, 15, 113,  575,  2241,   7183,  19825,  48639,  108545,  224143 },
2327*9a19cd78SMatthias Ringwald     { 0, 1, 17, 145,  833,  3649,  13073,  40081, 108545,  265729,  598417 },
2328*9a19cd78SMatthias Ringwald     { 0, 1, 19, 181, 1159,  5641,  22363,  75517, 224143,  598417, 1462563 },
2329*9a19cd78SMatthias Ringwald     { 0, 1, 21, 221, 1561,  8361,  36365, 134245, 433905, 1256465, 3317445 },
2330*9a19cd78SMatthias Ringwald     { 0, 1, 23, 265, 2047, 11969,  56695, 227305, 795455, 2485825, 7059735 },
2331*9a19cd78SMatthias Ringwald     { 0, 1, 25, 313, 2625, 16641,  85305, 369305,1392065, 4673345,14218905 },
2332*9a19cd78SMatthias Ringwald     { 0, 1, 27, 365, 3303, 22569, 124515, 579125,2340495, 8405905,27298155 },
2333*9a19cd78SMatthias Ringwald     { 0, 1, 29, 421, 4089, 29961, 177045, 880685,3800305,14546705,50250765 },
2334*9a19cd78SMatthias Ringwald     { 0, 1, 31, 481, 4991, 39041, 246047,1303777,5984767,24331777,89129247 },
2335*9a19cd78SMatthias Ringwald };
2336*9a19cd78SMatthias Ringwald 
2337*9a19cd78SMatthias Ringwald 
2338*9a19cd78SMatthias Ringwald /**
2339*9a19cd78SMatthias Ringwald  * TNS Arithmetic Coding (cf. 3.7.5)
2340*9a19cd78SMatthias Ringwald  * The number of bits are given at 2048th of bits
2341*9a19cd78SMatthias Ringwald  */
2342*9a19cd78SMatthias Ringwald 
2343*9a19cd78SMatthias Ringwald const struct lc3_ac_model lc3_tns_order_models[] = {
2344*9a19cd78SMatthias Ringwald 
2345*9a19cd78SMatthias Ringwald     { { {    0,   3 }, {    3,   9 }, {   12,  23 }, {   35,  54 },
2346*9a19cd78SMatthias Ringwald         {   89, 111 }, {  200, 190 }, {  390, 268 }, {  658, 366 },
2347*9a19cd78SMatthias Ringwald         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
2348*9a19cd78SMatthias Ringwald         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
2349*9a19cd78SMatthias Ringwald         { 1024,   0 } } },
2350*9a19cd78SMatthias Ringwald 
2351*9a19cd78SMatthias Ringwald     { { {    0,  14 }, {   14,  42 }, {   56, 100 }, {  156, 157 },
2352*9a19cd78SMatthias Ringwald         {  313, 181 }, {  494, 178 }, {  672, 167 }, {  839, 185 },
2353*9a19cd78SMatthias Ringwald         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
2354*9a19cd78SMatthias Ringwald         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
2355*9a19cd78SMatthias Ringwald         { 1024,   0 } } },
2356*9a19cd78SMatthias Ringwald };
2357*9a19cd78SMatthias Ringwald 
2358*9a19cd78SMatthias Ringwald const uint16_t lc3_tns_order_bits[][8] = {
2359*9a19cd78SMatthias Ringwald     { 17234, 13988, 11216, 8694, 6566, 4977, 3961, 3040 },
2360*9a19cd78SMatthias Ringwald     { 12683,  9437,  6874, 5541, 5121, 5170, 5359, 5056 }
2361*9a19cd78SMatthias Ringwald };
2362*9a19cd78SMatthias Ringwald 
2363*9a19cd78SMatthias Ringwald const struct lc3_ac_model lc3_tns_coeffs_models[] = {
2364*9a19cd78SMatthias Ringwald 
2365*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   5 }, {    6,  15 }, {   21,  31 },
2366*9a19cd78SMatthias Ringwald         {   52,  54 }, {  106,  86 }, {  192,  97 }, {  289, 120 },
2367*9a19cd78SMatthias Ringwald         {  409, 159 }, {  568, 152 }, {  720, 111 }, {  831, 104 },
2368*9a19cd78SMatthias Ringwald         {  935,  59 }, {  994,  22 }, { 1016,   6 }, { 1022,   1 },
2369*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2370*9a19cd78SMatthias Ringwald 
2371*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2372*9a19cd78SMatthias Ringwald         {    4,  13 }, {   17,  43 }, {   60,  94 }, {  154, 139 },
2373*9a19cd78SMatthias Ringwald         {  293, 173 }, {  466, 160 }, {  626, 154 }, {  780, 131 },
2374*9a19cd78SMatthias Ringwald         {  911,  78 }, {  989,  27 }, { 1016,   6 }, { 1022,   1 },
2375*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2376*9a19cd78SMatthias Ringwald 
2377*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2378*9a19cd78SMatthias Ringwald         {    4,   9 }, {   13,  43 }, {   56, 106 }, {  162, 199 },
2379*9a19cd78SMatthias Ringwald         {  361, 217 }, {  578, 210 }, {  788, 141 }, {  929,  74 },
2380*9a19cd78SMatthias Ringwald         { 1003,  17 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2381*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2382*9a19cd78SMatthias Ringwald 
2383*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2384*9a19cd78SMatthias Ringwald         {    4,   2 }, {    6,  11 }, {   17,  49 }, {   66, 204 },
2385*9a19cd78SMatthias Ringwald         {  270, 285 }, {  555, 297 }, {  852, 120 }, {  972,  39 },
2386*9a19cd78SMatthias Ringwald         { 1011,   9 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2387*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2388*9a19cd78SMatthias Ringwald 
2389*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2390*9a19cd78SMatthias Ringwald         {    4,   1 }, {    5,   7 }, {   12,  42 }, {   54, 241 },
2391*9a19cd78SMatthias Ringwald         {  295, 341 }, {  636, 314 }, {  950,  58 }, { 1008,   9 },
2392*9a19cd78SMatthias Ringwald         { 1017,   3 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2393*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2394*9a19cd78SMatthias Ringwald 
2395*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2396*9a19cd78SMatthias Ringwald         {    4,   1 }, {    5,   1 }, {    6,  13 }, {   19, 205 },
2397*9a19cd78SMatthias Ringwald         {  224, 366 }, {  590, 377 }, {  967,  47 }, { 1014,   5 },
2398*9a19cd78SMatthias Ringwald         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2399*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2400*9a19cd78SMatthias Ringwald 
2401*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2402*9a19cd78SMatthias Ringwald         {    4,   1 }, {    5,   1 }, {    6,  13 }, {   19, 281 },
2403*9a19cd78SMatthias Ringwald         {  300, 330 }, {  630, 371 }, { 1001,  17 }, { 1018,   1 },
2404*9a19cd78SMatthias Ringwald         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2405*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2406*9a19cd78SMatthias Ringwald 
2407*9a19cd78SMatthias Ringwald     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
2408*9a19cd78SMatthias Ringwald         {    4,   1 }, {    5,   1 }, {    6,   5 }, {   11, 297 },
2409*9a19cd78SMatthias Ringwald         {  308,   1 }, {  309, 682 }, {  991,  26 }, { 1017,   2 },
2410*9a19cd78SMatthias Ringwald         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
2411*9a19cd78SMatthias Ringwald         { 1023,   1 } } },
2412*9a19cd78SMatthias Ringwald 
2413*9a19cd78SMatthias Ringwald };
2414*9a19cd78SMatthias Ringwald 
2415*9a19cd78SMatthias Ringwald const uint16_t lc3_tns_coeffs_bits[][17] = {
2416*9a19cd78SMatthias Ringwald 
2417*9a19cd78SMatthias Ringwald     { 20480, 15725, 12479, 10334,  8694,  7320,  6964,  6335,
2418*9a19cd78SMatthias Ringwald        5504,  5637,  6566,  6758,  8433, 11348, 15186, 20480, 20480 },
2419*9a19cd78SMatthias Ringwald 
2420*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 12902,  9368,  7057,  5901,
2421*9a19cd78SMatthias Ringwald        5254,  5485,  5598,  6076,  7608, 10742, 15186, 20480, 20480 },
2422*9a19cd78SMatthias Ringwald 
2423*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 13988,  9368,  6702,  4841,
2424*9a19cd78SMatthias Ringwald        4585,  4682,  5859,  7764, 12109, 20480, 20480, 20480, 20480 },
2425*9a19cd78SMatthias Ringwald 
2426*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 18432, 13396,  8982,  4767,
2427*9a19cd78SMatthias Ringwald        3779,  3658,  6335,  9656, 13988, 20480, 20480, 20480, 20480 },
2428*9a19cd78SMatthias Ringwald 
2429*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 20480, 14731,  9437,  4275,
2430*9a19cd78SMatthias Ringwald        3249,  3493,  8483, 13988, 17234, 20480, 20480, 20480, 20480 },
2431*9a19cd78SMatthias Ringwald 
2432*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 20480, 20480, 12902,  4753,
2433*9a19cd78SMatthias Ringwald        3040,  2953,  9105, 15725, 20480, 20480, 20480, 20480, 20480 },
2434*9a19cd78SMatthias Ringwald 
2435*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 20480, 20480, 12902,  3821,
2436*9a19cd78SMatthias Ringwald        3346,  3000, 12109, 20480, 20480, 20480, 20480, 20480, 20480 },
2437*9a19cd78SMatthias Ringwald 
2438*9a19cd78SMatthias Ringwald     { 20480, 20480, 20480, 20480, 20480, 20480, 15725,  3658,
2439*9a19cd78SMatthias Ringwald       20480,  1201, 10854, 18432, 20480, 20480, 20480, 20480, 20480 }
2440*9a19cd78SMatthias Ringwald 
2441*9a19cd78SMatthias Ringwald };
2442*9a19cd78SMatthias Ringwald 
2443*9a19cd78SMatthias Ringwald 
2444*9a19cd78SMatthias Ringwald /**
2445*9a19cd78SMatthias Ringwald  * Long Term Postfilter Analysis (cf. 3.7.6)
2446*9a19cd78SMatthias Ringwald  * with the addition of `h[239] = 0`
2447*9a19cd78SMatthias Ringwald  */
2448*9a19cd78SMatthias Ringwald 
2449*9a19cd78SMatthias Ringwald const float lc3_ltpf_h12k8[240] = {
2450*9a19cd78SMatthias Ringwald     -2.04305583e-05, -4.46345894e-05, -7.16366399e-05, -1.00101113e-04,
2451*9a19cd78SMatthias Ringwald     -1.28372848e-04, -1.54543830e-04, -1.76544567e-04, -1.92256960e-04,
2452*9a19cd78SMatthias Ringwald     -1.99643819e-04, -1.96888686e-04, -1.82538332e-04, -1.55639427e-04,
2453*9a19cd78SMatthias Ringwald     -1.15860365e-04, -6.35893034e-05,  2.81006480e-19,  7.29218021e-05,
2454*9a19cd78SMatthias Ringwald      1.52397076e-04,  2.34920777e-04,  3.16378650e-04,  3.92211738e-04,
2455*9a19cd78SMatthias Ringwald      4.57623849e-04,  5.07824294e-04,  5.38295523e-04,  5.45072918e-04,
2456*9a19cd78SMatthias Ringwald      5.25022155e-04,  4.76098424e-04,  3.97571380e-04,  2.90200217e-04,
2457*9a19cd78SMatthias Ringwald      1.56344667e-04, -5.81880142e-19, -1.73252713e-04, -3.56385965e-04,
2458*9a19cd78SMatthias Ringwald     -5.41155231e-04, -7.18414023e-04, -8.78505232e-04, -1.01171451e-03,
2459*9a19cd78SMatthias Ringwald     -1.10876706e-03, -1.16134522e-03, -1.16260169e-03, -1.10764097e-03,
2460*9a19cd78SMatthias Ringwald     -9.93941563e-04, -8.21692190e-04, -5.94017766e-04, -3.17074654e-04,
2461*9a19cd78SMatthias Ringwald      9.74695082e-19,  3.45293760e-04,  7.04480871e-04,  1.06133447e-03,
2462*9a19cd78SMatthias Ringwald      1.39837473e-03,  1.69763080e-03,  1.94148675e-03,  2.11357591e-03,
2463*9a19cd78SMatthias Ringwald      2.19968245e-03,  2.18860625e-03,  2.07294546e-03,  1.84975249e-03,
2464*9a19cd78SMatthias Ringwald      1.52102188e-03,  1.09397426e-03,  5.81108062e-04, -1.42248266e-18,
2465*9a19cd78SMatthias Ringwald     -6.27153730e-04, -1.27425140e-03, -1.91223839e-03, -2.51026925e-03,
2466*9a19cd78SMatthias Ringwald     -3.03703830e-03, -3.46222687e-03, -3.75800672e-03, -3.90053247e-03,
2467*9a19cd78SMatthias Ringwald     -3.87135231e-03, -3.65866558e-03, -3.25835851e-03, -2.67475555e-03,
2468*9a19cd78SMatthias Ringwald     -1.92103305e-03, -1.01925433e-03,  1.86962369e-18,  1.09841545e-03,
2469*9a19cd78SMatthias Ringwald      2.23113197e-03,  3.34830927e-03,  4.39702277e-03,  5.32342672e-03,
2470*9a19cd78SMatthias Ringwald      6.07510531e-03,  6.60352025e-03,  6.86645399e-03,  6.83034270e-03,
2471*9a19cd78SMatthias Ringwald      6.47239234e-03,  5.78237521e-03,  4.76401273e-03,  3.43586351e-03,
2472*9a19cd78SMatthias Ringwald      1.83165284e-03, -2.25189837e-18, -1.99647619e-03, -4.08266886e-03,
2473*9a19cd78SMatthias Ringwald     -6.17308037e-03, -8.17444895e-03, -9.98882386e-03, -1.15169871e-02,
2474*9a19cd78SMatthias Ringwald     -1.26621006e-02, -1.33334458e-02, -1.34501120e-02, -1.29444881e-02,
2475*9a19cd78SMatthias Ringwald     -1.17654154e-02, -9.88086732e-03, -7.28003640e-03, -3.97473021e-03,
2476*9a19cd78SMatthias Ringwald      2.50961778e-18,  4.58604422e-03,  9.70324900e-03,  1.52512477e-02,
2477*9a19cd78SMatthias Ringwald      2.11120585e-02,  2.71533724e-02,  3.32324245e-02,  3.92003203e-02,
2478*9a19cd78SMatthias Ringwald      4.49066644e-02,  5.02043309e-02,  5.49542017e-02,  5.90297032e-02,
2479*9a19cd78SMatthias Ringwald      6.23209727e-02,  6.47385023e-02,  6.62161245e-02,  6.67132287e-02,
2480*9a19cd78SMatthias Ringwald      6.62161245e-02,  6.47385023e-02,  6.23209727e-02,  5.90297032e-02,
2481*9a19cd78SMatthias Ringwald      5.49542017e-02,  5.02043309e-02,  4.49066644e-02,  3.92003203e-02,
2482*9a19cd78SMatthias Ringwald      3.32324245e-02,  2.71533724e-02,  2.11120585e-02,  1.52512477e-02,
2483*9a19cd78SMatthias Ringwald      9.70324900e-03,  4.58604422e-03,  2.50961778e-18, -3.97473021e-03,
2484*9a19cd78SMatthias Ringwald     -7.28003640e-03, -9.88086732e-03, -1.17654154e-02, -1.29444881e-02,
2485*9a19cd78SMatthias Ringwald     -1.34501120e-02, -1.33334458e-02, -1.26621006e-02, -1.15169871e-02,
2486*9a19cd78SMatthias Ringwald     -9.98882386e-03, -8.17444895e-03, -6.17308037e-03, -4.08266886e-03,
2487*9a19cd78SMatthias Ringwald     -1.99647619e-03, -2.25189837e-18,  1.83165284e-03,  3.43586351e-03,
2488*9a19cd78SMatthias Ringwald      4.76401273e-03,  5.78237521e-03,  6.47239234e-03,  6.83034270e-03,
2489*9a19cd78SMatthias Ringwald      6.86645399e-03,  6.60352025e-03,  6.07510531e-03,  5.32342672e-03,
2490*9a19cd78SMatthias Ringwald      4.39702277e-03,  3.34830927e-03,  2.23113197e-03,  1.09841545e-03,
2491*9a19cd78SMatthias Ringwald      1.86962369e-18, -1.01925433e-03, -1.92103305e-03, -2.67475555e-03,
2492*9a19cd78SMatthias Ringwald     -3.25835851e-03, -3.65866558e-03, -3.87135231e-03, -3.90053247e-03,
2493*9a19cd78SMatthias Ringwald     -3.75800672e-03, -3.46222687e-03, -3.03703830e-03, -2.51026925e-03,
2494*9a19cd78SMatthias Ringwald     -1.91223839e-03, -1.27425140e-03, -6.27153730e-04, -1.42248266e-18,
2495*9a19cd78SMatthias Ringwald      5.81108062e-04,  1.09397426e-03,  1.52102188e-03,  1.84975249e-03,
2496*9a19cd78SMatthias Ringwald      2.07294546e-03,  2.18860625e-03,  2.19968245e-03,  2.11357591e-03,
2497*9a19cd78SMatthias Ringwald      1.94148675e-03,  1.69763080e-03,  1.39837473e-03,  1.06133447e-03,
2498*9a19cd78SMatthias Ringwald      7.04480871e-04,  3.45293760e-04,  9.74695082e-19, -3.17074654e-04,
2499*9a19cd78SMatthias Ringwald     -5.94017766e-04, -8.21692190e-04, -9.93941563e-04, -1.10764097e-03,
2500*9a19cd78SMatthias Ringwald     -1.16260169e-03, -1.16134522e-03, -1.10876706e-03, -1.01171451e-03,
2501*9a19cd78SMatthias Ringwald     -8.78505232e-04, -7.18414023e-04, -5.41155231e-04, -3.56385965e-04,
2502*9a19cd78SMatthias Ringwald     -1.73252713e-04, -5.81880142e-19,  1.56344667e-04,  2.90200217e-04,
2503*9a19cd78SMatthias Ringwald      3.97571380e-04,  4.76098424e-04,  5.25022155e-04,  5.45072918e-04,
2504*9a19cd78SMatthias Ringwald      5.38295523e-04,  5.07824294e-04,  4.57623849e-04,  3.92211738e-04,
2505*9a19cd78SMatthias Ringwald      3.16378650e-04,  2.34920777e-04,  1.52397076e-04,  7.29218021e-05,
2506*9a19cd78SMatthias Ringwald      2.81006480e-19, -6.35893034e-05, -1.15860365e-04, -1.55639427e-04,
2507*9a19cd78SMatthias Ringwald     -1.82538332e-04, -1.96888686e-04, -1.99643819e-04, -1.92256960e-04,
2508*9a19cd78SMatthias Ringwald     -1.76544567e-04, -1.54543830e-04, -1.28372848e-04, -1.00101113e-04,
2509*9a19cd78SMatthias Ringwald     -7.16366399e-05, -4.46345894e-05, -2.04305583e-05,  0.0           ,
2510*9a19cd78SMatthias Ringwald };
2511*9a19cd78SMatthias Ringwald 
2512*9a19cd78SMatthias Ringwald 
2513*9a19cd78SMatthias Ringwald /**
2514*9a19cd78SMatthias Ringwald  * Long Term Postfilter Synthesis (cf. 3.7.6)
2515*9a19cd78SMatthias Ringwald  * with - addition of a 0 for num coefficients
2516*9a19cd78SMatthias Ringwald  *      - remove of first 0 den coefficients
2517*9a19cd78SMatthias Ringwald  */
2518*9a19cd78SMatthias Ringwald 
2519*9a19cd78SMatthias Ringwald const float *lc3_ltpf_cnum[LC3_NUM_SRATE][4] = {
2520*9a19cd78SMatthias Ringwald 
2521*9a19cd78SMatthias Ringwald     [LC3_SRATE_8K] = {
2522*9a19cd78SMatthias Ringwald         (const float []){
2523*9a19cd78SMatthias Ringwald            6.02361821e-01,  4.19760926e-01, -1.88342453e-02,  0. },
2524*9a19cd78SMatthias Ringwald         (const float []){
2525*9a19cd78SMatthias Ringwald            5.99476858e-01,  4.19760926e-01, -1.59492828e-02,  0. },
2526*9a19cd78SMatthias Ringwald         (const float []){
2527*9a19cd78SMatthias Ringwald            5.96776466e-01,  4.19760926e-01, -1.32488910e-02,  0. },
2528*9a19cd78SMatthias Ringwald         (const float []){
2529*9a19cd78SMatthias Ringwald            5.94241012e-01,  4.19760926e-01, -1.07134366e-02,  0. },
2530*9a19cd78SMatthias Ringwald     },
2531*9a19cd78SMatthias Ringwald 
2532*9a19cd78SMatthias Ringwald     [LC3_SRATE_16K] = {
2533*9a19cd78SMatthias Ringwald         (const float []){
2534*9a19cd78SMatthias Ringwald            6.02361821e-01,  4.19760926e-01, -1.88342453e-02,  0. },
2535*9a19cd78SMatthias Ringwald         (const float []){
2536*9a19cd78SMatthias Ringwald            5.99476858e-01,  4.19760926e-01, -1.59492828e-02,  0. },
2537*9a19cd78SMatthias Ringwald         (const float []){
2538*9a19cd78SMatthias Ringwald            5.96776466e-01,  4.19760926e-01, -1.32488910e-02,  0. },
2539*9a19cd78SMatthias Ringwald         (const float []){
2540*9a19cd78SMatthias Ringwald            5.94241012e-01,  4.19760926e-01, -1.07134366e-02,  0. },
2541*9a19cd78SMatthias Ringwald     },
2542*9a19cd78SMatthias Ringwald 
2543*9a19cd78SMatthias Ringwald     [LC3_SRATE_24K] = {
2544*9a19cd78SMatthias Ringwald         (const float []){
2545*9a19cd78SMatthias Ringwald            3.98969559e-01,  5.14250861e-01,  1.00438297e-01, -1.27889396e-02,
2546*9a19cd78SMatthias Ringwald           -1.57228008e-03,  0.                                               },
2547*9a19cd78SMatthias Ringwald         (const float []){
2548*9a19cd78SMatthias Ringwald            3.94863491e-01,  5.12381921e-01,  1.04319493e-01, -1.09199996e-02,
2549*9a19cd78SMatthias Ringwald           -1.34740833e-03,  0.                                               },
2550*9a19cd78SMatthias Ringwald         (const float []){
2551*9a19cd78SMatthias Ringwald            3.90984448e-01,  5.10605352e-01,  1.07983252e-01, -9.14343107e-03,
2552*9a19cd78SMatthias Ringwald           -1.13212462e-03,  0.                                               },
2553*9a19cd78SMatthias Ringwald         (const float []){
2554*9a19cd78SMatthias Ringwald            3.87309389e-01,  5.08912208e-01,  1.11451738e-01, -7.45028713e-03,
2555*9a19cd78SMatthias Ringwald           -9.25551405e-04,  0.                                               },
2556*9a19cd78SMatthias Ringwald     },
2557*9a19cd78SMatthias Ringwald 
2558*9a19cd78SMatthias Ringwald     [LC3_SRATE_32K] = {
2559*9a19cd78SMatthias Ringwald         (const float []){
2560*9a19cd78SMatthias Ringwald            2.98237945e-01,  4.65280920e-01,  2.10599743e-01,  3.76678038e-02,
2561*9a19cd78SMatthias Ringwald           -1.01569616e-02, -2.53588100e-03, -3.18294617e-04,  0.             },
2562*9a19cd78SMatthias Ringwald         (const float []){
2563*9a19cd78SMatthias Ringwald            2.94383415e-01,  4.61929400e-01,  2.12946577e-01,  4.06617500e-02,
2564*9a19cd78SMatthias Ringwald           -8.69327230e-03, -2.17830711e-03, -2.74288806e-04,  0.             },
2565*9a19cd78SMatthias Ringwald         (const float []){
2566*9a19cd78SMatthias Ringwald            2.90743921e-01,  4.58746191e-01,  2.15145697e-01,  4.35010477e-02,
2567*9a19cd78SMatthias Ringwald           -7.29549535e-03, -1.83439564e-03, -2.31692019e-04,  0.             },
2568*9a19cd78SMatthias Ringwald         (const float []){
2569*9a19cd78SMatthias Ringwald            2.87297585e-01,  4.55714889e-01,  2.17212695e-01,  4.62008888e-02,
2570*9a19cd78SMatthias Ringwald           -5.95746380e-03, -1.50293428e-03, -1.90385191e-04,  0.             },
2571*9a19cd78SMatthias Ringwald     },
2572*9a19cd78SMatthias Ringwald 
2573*9a19cd78SMatthias Ringwald     [LC3_SRATE_48K] = {
2574*9a19cd78SMatthias Ringwald         (const float []){
2575*9a19cd78SMatthias Ringwald            1.98136374e-01,  3.52449490e-01,  2.51369527e-01,  1.42414624e-01,
2576*9a19cd78SMatthias Ringwald            5.70473102e-02,  9.29336624e-03, -7.22602537e-03, -3.17267989e-03,
2577*9a19cd78SMatthias Ringwald           -1.12183596e-03, -2.90295724e-04, -4.27081559e-05,  0.             },
2578*9a19cd78SMatthias Ringwald         (const float []){
2579*9a19cd78SMatthias Ringwald            1.95070943e-01,  3.48466041e-01,  2.50998846e-01,  1.44116741e-01,
2580*9a19cd78SMatthias Ringwald            5.92894732e-02,  1.10892383e-02, -6.19290811e-03, -2.72670551e-03,
2581*9a19cd78SMatthias Ringwald           -9.66712583e-04, -2.50810092e-04, -3.69993877e-05,  0.             },
2582*9a19cd78SMatthias Ringwald         (const float []){
2583*9a19cd78SMatthias Ringwald            1.92181006e-01,  3.44694556e-01,  2.50622009e-01,  1.45710245e-01,
2584*9a19cd78SMatthias Ringwald            6.14113213e-02,  1.27994140e-02, -5.20372109e-03, -2.29732451e-03,
2585*9a19cd78SMatthias Ringwald           -8.16560813e-04, -2.12385575e-04, -3.14127133e-05,  0.             },
2586*9a19cd78SMatthias Ringwald         (const float []){
2587*9a19cd78SMatthias Ringwald            1.89448531e-01,  3.41113925e-01,  2.50240688e-01,  1.47206563e-01,
2588*9a19cd78SMatthias Ringwald            6.34247723e-02,  1.44320343e-02, -4.25444914e-03, -1.88308147e-03,
2589*9a19cd78SMatthias Ringwald           -6.70961906e-04, -1.74936334e-04, -2.59386474e-05,  0.             },
2590*9a19cd78SMatthias Ringwald     }
2591*9a19cd78SMatthias Ringwald };
2592*9a19cd78SMatthias Ringwald 
2593*9a19cd78SMatthias Ringwald const float *lc3_ltpf_cden[LC3_NUM_SRATE][4] = {
2594*9a19cd78SMatthias Ringwald 
2595*9a19cd78SMatthias Ringwald     [LC3_SRATE_8K] = {
2596*9a19cd78SMatthias Ringwald         (const float []){
2597*9a19cd78SMatthias Ringwald            2.09880463e-01,  5.83527575e-01,  2.09880463e-01,  0.00000000e+00 },
2598*9a19cd78SMatthias Ringwald         (const float []){
2599*9a19cd78SMatthias Ringwald            1.06999186e-01,  5.50075002e-01,  3.35690625e-01,  6.69885837e-03 },
2600*9a19cd78SMatthias Ringwald         (const float []){
2601*9a19cd78SMatthias Ringwald            3.96711478e-02,  4.59220930e-01,  4.59220930e-01,  3.96711478e-02 },
2602*9a19cd78SMatthias Ringwald         (const float []){
2603*9a19cd78SMatthias Ringwald            6.69885837e-03,  3.35690625e-01,  5.50075002e-01,  1.06999186e-01 },
2604*9a19cd78SMatthias Ringwald     },
2605*9a19cd78SMatthias Ringwald 
2606*9a19cd78SMatthias Ringwald     [LC3_SRATE_16K] = {
2607*9a19cd78SMatthias Ringwald         (const float []){
2608*9a19cd78SMatthias Ringwald            2.09880463e-01,  5.83527575e-01,  2.09880463e-01,  0.00000000e+00 },
2609*9a19cd78SMatthias Ringwald         (const float []){
2610*9a19cd78SMatthias Ringwald            1.06999186e-01,  5.50075002e-01,  3.35690625e-01,  6.69885837e-03 },
2611*9a19cd78SMatthias Ringwald         (const float []){
2612*9a19cd78SMatthias Ringwald            3.96711478e-02,  4.59220930e-01,  4.59220930e-01,  3.96711478e-02 },
2613*9a19cd78SMatthias Ringwald         (const float []){
2614*9a19cd78SMatthias Ringwald            6.69885837e-03,  3.35690625e-01,  5.50075002e-01,  1.06999186e-01 },
2615*9a19cd78SMatthias Ringwald     },
2616*9a19cd78SMatthias Ringwald 
2617*9a19cd78SMatthias Ringwald     [LC3_SRATE_24K] = {
2618*9a19cd78SMatthias Ringwald         (const float []){
2619*9a19cd78SMatthias Ringwald            6.32223163e-02,  2.50730961e-01,  3.71390943e-01,  2.50730961e-01,
2620*9a19cd78SMatthias Ringwald            6.32223163e-02,  0.00000000e+00                                   },
2621*9a19cd78SMatthias Ringwald         (const float []){
2622*9a19cd78SMatthias Ringwald            3.45927217e-02,  1.98651560e-01,  3.62641173e-01,  2.98675055e-01,
2623*9a19cd78SMatthias Ringwald            1.01309287e-01,  4.26354371e-03                                   },
2624*9a19cd78SMatthias Ringwald         (const float []){
2625*9a19cd78SMatthias Ringwald            1.53574678e-02,  1.47434488e-01,  3.37425955e-01,  3.37425955e-01,
2626*9a19cd78SMatthias Ringwald            1.47434488e-01,  1.53574678e-02                                   },
2627*9a19cd78SMatthias Ringwald         (const float []){
2628*9a19cd78SMatthias Ringwald            4.26354371e-03,  1.01309287e-01,  2.98675055e-01,  3.62641173e-01,
2629*9a19cd78SMatthias Ringwald            1.98651560e-01,  3.45927217e-02                                   },
2630*9a19cd78SMatthias Ringwald     },
2631*9a19cd78SMatthias Ringwald 
2632*9a19cd78SMatthias Ringwald     [LC3_SRATE_32K] = {
2633*9a19cd78SMatthias Ringwald         (const float []){
2634*9a19cd78SMatthias Ringwald            2.90040188e-02,  1.12985742e-01,  2.21202403e-01,  2.72390947e-01,
2635*9a19cd78SMatthias Ringwald            2.21202403e-01,  1.12985742e-01,  2.90040188e-02,  0.00000000e+00 },
2636*9a19cd78SMatthias Ringwald         (const float []){
2637*9a19cd78SMatthias Ringwald            1.70315342e-02,  8.72250379e-02,  1.96140776e-01,  2.68923798e-01,
2638*9a19cd78SMatthias Ringwald            2.42499910e-01,  1.40577336e-01,  4.47487717e-02,  3.12703024e-03 },
2639*9a19cd78SMatthias Ringwald         (const float []){
2640*9a19cd78SMatthias Ringwald            8.56367375e-03,  6.42622294e-02,  1.68767671e-01,  2.58744594e-01,
2641*9a19cd78SMatthias Ringwald            2.58744594e-01,  1.68767671e-01,  6.42622294e-02,  8.56367375e-03 },
2642*9a19cd78SMatthias Ringwald         (const float []){
2643*9a19cd78SMatthias Ringwald            3.12703024e-03,  4.47487717e-02,  1.40577336e-01,  2.42499910e-01,
2644*9a19cd78SMatthias Ringwald            2.68923798e-01,  1.96140776e-01,  8.72250379e-02,  1.70315342e-02 },
2645*9a19cd78SMatthias Ringwald     },
2646*9a19cd78SMatthias Ringwald 
2647*9a19cd78SMatthias Ringwald     [LC3_SRATE_48K] = {
2648*9a19cd78SMatthias Ringwald         (const float []){
2649*9a19cd78SMatthias Ringwald            1.08235939e-02,  3.60896922e-02,  7.67640147e-02,  1.24153058e-01,
2650*9a19cd78SMatthias Ringwald            1.62759644e-01,  1.77677142e-01,  1.62759644e-01,  1.24153058e-01,
2651*9a19cd78SMatthias Ringwald            7.67640147e-02,  3.60896922e-02,  1.08235939e-02,  0.00000000e+00 },
2652*9a19cd78SMatthias Ringwald         (const float []){
2653*9a19cd78SMatthias Ringwald            7.04140493e-03,  2.81970232e-02,  6.54704494e-02,  1.12464799e-01,
2654*9a19cd78SMatthias Ringwald            1.54841896e-01,  1.76712238e-01,  1.69150721e-01,  1.35290158e-01,
2655*9a19cd78SMatthias Ringwald            8.85142501e-02,  4.49935385e-02,  1.55761371e-02,  2.03972196e-03 },
2656*9a19cd78SMatthias Ringwald         (const float []){
2657*9a19cd78SMatthias Ringwald            4.14699847e-03,  2.13575731e-02,  5.48273558e-02,  1.00497144e-01,
2658*9a19cd78SMatthias Ringwald            1.45606034e-01,  1.73843984e-01,  1.73843984e-01,  1.45606034e-01,
2659*9a19cd78SMatthias Ringwald            1.00497144e-01,  5.48273558e-02,  2.13575731e-02,  4.14699847e-03 },
2660*9a19cd78SMatthias Ringwald         (const float []){
2661*9a19cd78SMatthias Ringwald            2.03972196e-03,  1.55761371e-02,  4.49935385e-02,  8.85142501e-02,
2662*9a19cd78SMatthias Ringwald            1.35290158e-01,  1.69150721e-01,  1.76712238e-01,  1.54841896e-01,
2663*9a19cd78SMatthias Ringwald            1.12464799e-01,  6.54704494e-02,  2.81970232e-02,  7.04140493e-03 },
2664*9a19cd78SMatthias Ringwald     }
2665*9a19cd78SMatthias Ringwald };
2666*9a19cd78SMatthias Ringwald 
2667*9a19cd78SMatthias Ringwald 
2668*9a19cd78SMatthias Ringwald /**
2669*9a19cd78SMatthias Ringwald  * Spectral Data Arithmetic Coding (cf. 3.7.7)
2670*9a19cd78SMatthias Ringwald  * The number of bits are given at 2048th of bits
2671*9a19cd78SMatthias Ringwald  *
2672*9a19cd78SMatthias Ringwald  * The dimensions of the lookup table are set as following :
2673*9a19cd78SMatthias Ringwald  *   1: Rate selection
2674*9a19cd78SMatthias Ringwald  *   2: Half spectrum selection (1st half / 2nd half)
2675*9a19cd78SMatthias Ringwald  *   3: State of the arithmetic coder
2676*9a19cd78SMatthias Ringwald  *   4: Number of msb bits (significant - 2), limited to 3
2677*9a19cd78SMatthias Ringwald  *
2678*9a19cd78SMatthias Ringwald  * table[r][h][s][k] = table(normative)[s + h*256 + r*512 + k*1024]
2679*9a19cd78SMatthias Ringwald  */
2680*9a19cd78SMatthias Ringwald 
2681*9a19cd78SMatthias Ringwald const uint8_t lc3_spectrum_lookup[2][2][256][4] = {
2682*9a19cd78SMatthias Ringwald 
2683*9a19cd78SMatthias Ringwald     { { {  1,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 25,13, 0, 0 },
2684*9a19cd78SMatthias Ringwald         { 22,13, 0, 0 }, { 22,13, 0, 0 }, { 28,13, 0, 0 }, { 22,13, 0, 0 },
2685*9a19cd78SMatthias Ringwald         { 22,60, 0, 0 }, { 22,60, 0, 0 }, { 22,60, 0, 0 }, { 28,60, 0, 0 },
2686*9a19cd78SMatthias Ringwald         { 28,60, 0, 0 }, { 28,60,13, 0 }, { 34,60,13, 0 }, { 31,16,13, 0 },
2687*9a19cd78SMatthias Ringwald         { 31,16,13, 0 }, { 40, 0, 0, 0 }, { 43, 0, 0, 0 }, { 46, 0, 0, 0 },
2688*9a19cd78SMatthias Ringwald         { 49, 0, 0, 0 }, { 52, 0, 0, 0 }, { 14, 0, 0, 0 }, { 17, 0, 0, 0 },
2689*9a19cd78SMatthias Ringwald         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
2690*9a19cd78SMatthias Ringwald         {  0, 0, 0, 0 }, { 57, 0, 0, 0 }, { 38,13, 0, 0 }, { 22,60, 0, 0 },
2691*9a19cd78SMatthias Ringwald         {  0, 0, 0, 0 }, {  8, 0, 0, 0 }, {  9, 0, 0, 0 }, { 11, 0, 0, 0 },
2692*9a19cd78SMatthias Ringwald         { 47, 0, 0, 0 }, { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 17, 0, 0, 0 },
2693*9a19cd78SMatthias Ringwald         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
2694*9a19cd78SMatthias Ringwald         { 59, 0, 0, 0 }, { 59, 0, 0, 0 }, { 38,13, 0, 0 }, { 22,60, 0, 0 },
2695*9a19cd78SMatthias Ringwald         { 22,60, 0, 0 }, { 26, 0, 0, 0 }, { 46, 0, 0, 0 }, { 29, 0, 0, 0 },
2696*9a19cd78SMatthias Ringwald         { 30, 0, 0, 0 }, { 32, 0, 0, 0 }, { 33, 0, 0, 0 }, { 35, 0, 0, 0 },
2697*9a19cd78SMatthias Ringwald         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
2698*9a19cd78SMatthias Ringwald         {  0,13, 0, 0 }, { 59,13, 0, 0 }, { 23,13, 0, 0 }, { 22,60, 0, 0 },
2699*9a19cd78SMatthias Ringwald         { 46,60, 0, 0 }, { 46, 0, 0, 0 }, { 45, 0, 0, 0 }, { 47, 0, 0, 0 },
2700*9a19cd78SMatthias Ringwald         { 48, 0, 0, 0 }, { 50, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
2701*9a19cd78SMatthias Ringwald         { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 38, 0, 0, 0 },
2702*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 22,60, 0, 0 },
2703*9a19cd78SMatthias Ringwald         {  0,60, 0, 0 }, { 62, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 },
2704*9a19cd78SMatthias Ringwald         { 33, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
2705*9a19cd78SMatthias Ringwald         { 20, 0, 0, 0 }, { 20, 0, 0, 0 }, { 20,13, 0, 0 }, { 21,13, 0, 0 },
2706*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 28,60, 0, 0 },
2707*9a19cd78SMatthias Ringwald         { 28,60, 0, 0 }, { 63, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 },
2708*9a19cd78SMatthias Ringwald         { 33, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
2709*9a19cd78SMatthias Ringwald         { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38,13, 0, 0 }, { 21,13, 0, 0 },
2710*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 28,60, 0, 0 },
2711*9a19cd78SMatthias Ringwald         { 28,60, 0, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 },
2712*9a19cd78SMatthias Ringwald         {  2, 0, 0, 0 }, { 18, 0, 0, 0 }, { 61, 0, 0, 0 }, { 20, 0, 0, 0 },
2713*9a19cd78SMatthias Ringwald         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
2714*9a19cd78SMatthias Ringwald         { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 34,60,13, 0 },
2715*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
2716*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
2717*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
2718*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
2719*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 },
2720*9a19cd78SMatthias Ringwald         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 20, 0, 0, 0 }, { 38, 0, 0, 0 },
2721*9a19cd78SMatthias Ringwald         { 38, 0, 0, 0 }, { 57, 0, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 },
2722*9a19cd78SMatthias Ringwald         { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 24,13, 0, 0 }, { 34,60,13, 0 },
2723*9a19cd78SMatthias Ringwald         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
2724*9a19cd78SMatthias Ringwald         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
2725*9a19cd78SMatthias Ringwald         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
2726*9a19cd78SMatthias Ringwald         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
2727*9a19cd78SMatthias Ringwald         {  4,60, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
2728*9a19cd78SMatthias Ringwald         {  4, 0, 0, 0 }, { 56, 0, 0, 0 }, { 38, 0, 0, 0 }, { 57, 0, 0, 0 },
2729*9a19cd78SMatthias Ringwald         { 57,13, 0, 0 }, { 59,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 },
2730*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 34,60,13, 0 },
2731*9a19cd78SMatthias Ringwald         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
2732*9a19cd78SMatthias Ringwald         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
2733*9a19cd78SMatthias Ringwald         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
2734*9a19cd78SMatthias Ringwald         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
2735*9a19cd78SMatthias Ringwald         {  0,60,13, 0 }, {  5, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
2736*9a19cd78SMatthias Ringwald         {  5, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 59,13, 0, 0 },
2737*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 },
2738*9a19cd78SMatthias Ringwald         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 34,60,13, 0 },
2739*9a19cd78SMatthias Ringwald         {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 },
2740*9a19cd78SMatthias Ringwald         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13, 0, 0 },
2741*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,13, 0, 0 },
2742*9a19cd78SMatthias Ringwald         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 22,13, 0, 0 }, { 31,60,13, 0 },
2743*9a19cd78SMatthias Ringwald         { 31,60,13, 0 }, { 39,60, 0, 0 }, { 39,60, 0, 0 }, { 39,60, 0, 0 },
2744*9a19cd78SMatthias Ringwald         { 39,60, 0, 0 }, {  7,60, 0, 0 }, {  7,60, 0, 0 }, { 42,60, 0, 0 },
2745*9a19cd78SMatthias Ringwald         {  0,60, 0, 0 }, { 25,60, 0, 0 }, { 22,60, 0, 0 }, { 22,60, 0, 0 },
2746*9a19cd78SMatthias Ringwald         { 22,60, 0, 0 }, { 28,60, 0, 0 }, { 34,60, 0, 0 }, { 31,16,13, 0 } },
2747*9a19cd78SMatthias Ringwald 
2748*9a19cd78SMatthias Ringwald       { { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
2749*9a19cd78SMatthias Ringwald         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
2750*9a19cd78SMatthias Ringwald         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
2751*9a19cd78SMatthias Ringwald         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
2752*9a19cd78SMatthias Ringwald         { 55, 0,13, 0 }, { 55, 0, 0, 0 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 },
2753*9a19cd78SMatthias Ringwald         {  9, 0, 0, 0 }, { 49, 0, 0, 0 }, { 49, 0, 0, 0 }, { 52, 0, 0, 0 },
2754*9a19cd78SMatthias Ringwald         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, {  4,13, 0, 0 },
2755*9a19cd78SMatthias Ringwald         {  0,13, 0, 0 }, { 20,13, 0, 0 }, { 17, 0, 0, 0 }, { 60,13,60,13 },
2756*9a19cd78SMatthias Ringwald         { 40, 0, 0,13 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 },
2757*9a19cd78SMatthias Ringwald         { 27, 0, 0, 0 }, { 49, 0, 0, 0 }, { 49, 0, 0, 0 }, { 14, 0, 0, 0 },
2758*9a19cd78SMatthias Ringwald         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 36, 0, 0, 0 },
2759*9a19cd78SMatthias Ringwald         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 17, 0, 0, 0 }, { 57,60,13, 0 },
2760*9a19cd78SMatthias Ringwald         { 57, 0,13, 0 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 }, { 26, 0, 0, 0 },
2761*9a19cd78SMatthias Ringwald         { 27, 0, 0, 0 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 14, 0, 0, 0 },
2762*9a19cd78SMatthias Ringwald         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 36, 0, 0, 0 },
2763*9a19cd78SMatthias Ringwald         {  0, 0,13, 0 }, { 38, 0,13, 0 }, { 36,13, 0, 0 }, {  1,60, 0, 0 },
2764*9a19cd78SMatthias Ringwald         {  8,60, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 }, {  9, 0, 0, 0 },
2765*9a19cd78SMatthias Ringwald         { 11, 0, 0, 0 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 14, 0, 0, 0 },
2766*9a19cd78SMatthias Ringwald         { 14, 0,13, 0 }, { 33, 0,13, 0 }, { 50, 0,13, 0 }, { 50, 0, 0, 0 },
2767*9a19cd78SMatthias Ringwald         { 50, 0,13, 0 }, { 61, 0,13, 0 }, { 36,13, 0, 0 }, { 39,60, 0, 0 },
2768*9a19cd78SMatthias Ringwald         {  8,60, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 }, { 46, 0, 0, 0 },
2769*9a19cd78SMatthias Ringwald         { 49, 0, 0, 0 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
2770*9a19cd78SMatthias Ringwald         { 14, 0,13, 0 }, { 33, 0,13, 0 }, { 50, 0,13, 0 }, { 50, 0,13, 0 },
2771*9a19cd78SMatthias Ringwald         { 50,13,13, 0 }, { 50,13, 0, 0 }, { 18,13,13, 0 }, { 25,60,13, 0 },
2772*9a19cd78SMatthias Ringwald         {  8,60,13,13 }, {  8, 0, 0,13 }, { 43, 0, 0,13 }, { 46, 0, 0,13 },
2773*9a19cd78SMatthias Ringwald         { 49, 0, 0,13 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
2774*9a19cd78SMatthias Ringwald         { 14, 0, 0, 0 }, { 18, 0,60, 0 }, {  5, 0, 0,13 }, {  5, 0, 0,13 },
2775*9a19cd78SMatthias Ringwald         {  5, 0, 0,13 }, { 61,13, 0,13 }, { 18,13,13, 0 }, { 23,13,60, 0 },
2776*9a19cd78SMatthias Ringwald         { 43,13, 0,13 }, { 43, 0, 0,13 }, { 43, 0, 0,13 }, {  9, 0, 0,13 },
2777*9a19cd78SMatthias Ringwald         { 49, 0, 0,13 }, { 52, 0, 0, 0 }, {  3, 0, 0, 0 }, { 14, 0, 0, 0 },
2778*9a19cd78SMatthias Ringwald         { 14, 0, 0, 0 }, { 50, 0, 0, 0 }, { 50,13,13, 0 }, { 50,13,13, 0 },
2779*9a19cd78SMatthias Ringwald         { 50,13,13, 0 }, { 61, 0, 0, 0 }, { 17,13,13, 0 }, { 24,60,13, 0 },
2780*9a19cd78SMatthias Ringwald         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
2781*9a19cd78SMatthias Ringwald         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
2782*9a19cd78SMatthias Ringwald         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
2783*9a19cd78SMatthias Ringwald         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
2784*9a19cd78SMatthias Ringwald         { 43,60,13, 0 }, { 43, 0, 0, 0 }, { 43, 0,19, 0 }, {  9, 0, 0, 0 },
2785*9a19cd78SMatthias Ringwald         { 11, 0, 0, 0 }, { 52, 0, 0, 0 }, { 52, 0, 0, 0 }, { 14, 0, 0, 0 },
2786*9a19cd78SMatthias Ringwald         { 14, 0, 0, 0 }, { 17, 0, 0, 0 }, { 61,13, 0, 0 }, { 61,13, 0, 0 },
2787*9a19cd78SMatthias Ringwald         { 61,13, 0, 0 }, { 54, 0, 0, 0 }, { 17, 0,13,13 }, { 39,13,13, 0 },
2788*9a19cd78SMatthias Ringwald         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
2789*9a19cd78SMatthias Ringwald         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
2790*9a19cd78SMatthias Ringwald         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
2791*9a19cd78SMatthias Ringwald         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
2792*9a19cd78SMatthias Ringwald         { 45,13,13, 0 }, { 45, 0,13, 0 }, { 44, 0,13, 0 }, { 27, 0, 0, 0 },
2793*9a19cd78SMatthias Ringwald         { 29, 0, 0, 0 }, { 52, 0, 0, 0 }, { 48, 0, 0, 0 }, { 52, 0, 0, 0 },
2794*9a19cd78SMatthias Ringwald         { 52, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0,19, 0 },
2795*9a19cd78SMatthias Ringwald         { 17, 0,13, 0 }, {  2, 0,13, 0 }, { 17, 0,13, 0 }, {  7,13, 0, 0 },
2796*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
2797*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
2798*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
2799*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
2800*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 27, 0, 0,13 }, {  9, 0, 0,13 }, { 27, 0, 0,13 },
2801*9a19cd78SMatthias Ringwald         { 27, 0, 0,13 }, { 12, 0, 0,13 }, { 52, 0, 0,13 }, { 14, 0, 0,13 },
2802*9a19cd78SMatthias Ringwald         { 14, 0, 0,13 }, { 58, 0, 0,13 }, { 41, 0, 0,13 }, { 41, 0, 0,13 },
2803*9a19cd78SMatthias Ringwald         { 41, 0, 0,13 }, {  6, 0, 0,13 }, { 17,60, 0,13 }, { 37, 0,19,13 },
2804*9a19cd78SMatthias Ringwald         {  9, 0, 0,13 }, {  9,16, 0,13 }, {  9, 0, 0,13 }, { 27, 0, 0,13 },
2805*9a19cd78SMatthias Ringwald         { 11, 0, 0,13 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 52, 0, 0, 0 },
2806*9a19cd78SMatthias Ringwald         { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 50, 0, 0, 0 },
2807*9a19cd78SMatthias Ringwald         {  0, 0, 0,13 }, { 53, 0, 0,13 }, { 17, 0, 0,13 }, { 28, 0,13, 0 },
2808*9a19cd78SMatthias Ringwald         { 52, 0,13, 0 }, { 52, 0,13, 0 }, { 49, 0,13, 0 }, { 52, 0, 0, 0 },
2809*9a19cd78SMatthias Ringwald         { 12, 0, 0, 0 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
2810*9a19cd78SMatthias Ringwald         { 14, 0, 0, 0 }, { 17, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 },
2811*9a19cd78SMatthias Ringwald         {  2, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 34, 0, 0, 0 } } },
2812*9a19cd78SMatthias Ringwald 
2813*9a19cd78SMatthias Ringwald     { { { 31,16,60,13 }, { 34,16,13, 0 }, { 34,16,13, 0 }, { 31,16,13, 0 },
2814*9a19cd78SMatthias Ringwald         { 31,16,13, 0 }, { 31,16,13, 0 }, { 31,16,13, 0 }, { 19,16,60, 0 },
2815*9a19cd78SMatthias Ringwald         { 19,16,60, 0 }, { 19,16,60, 0 }, { 19,16,60, 0 }, { 19,16,60, 0 },
2816*9a19cd78SMatthias Ringwald         { 19,16,60, 0 }, { 19,16,60, 0 }, { 31,16,60,13 }, { 19,37,16,60 },
2817*9a19cd78SMatthias Ringwald         { 44, 0, 0,60 }, { 44, 0, 0, 0 }, { 62, 0, 0, 0 }, { 30, 0, 0, 0 },
2818*9a19cd78SMatthias Ringwald         { 32, 0, 0, 0 }, { 58, 0, 0, 0 }, { 35, 0, 0, 0 }, { 36, 0, 0, 0 },
2819*9a19cd78SMatthias Ringwald         { 36, 0, 0, 0 }, { 38,13, 0, 0 }, {  0,13, 0, 0 }, { 59,13, 0, 0 },
2820*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 39,13, 0, 0 }, { 34,60,13, 0 },
2821*9a19cd78SMatthias Ringwald         { 34, 0,13, 0 }, { 45, 0, 0, 0 }, { 47, 0, 0, 0 }, { 48, 0, 0, 0 },
2822*9a19cd78SMatthias Ringwald         { 33, 0, 0, 0 }, { 35, 0, 0, 0 }, { 35, 0, 0, 0 }, { 36, 0, 0, 0 },
2823*9a19cd78SMatthias Ringwald         { 38,13, 0, 0 }, { 38,13, 0, 0 }, { 38,13, 0, 0 }, { 59,13, 0, 0 },
2824*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 39,13, 0, 0 }, { 34,60,13, 0 },
2825*9a19cd78SMatthias Ringwald         { 34, 0,13, 0 }, { 62, 0, 0, 0 }, { 30, 0, 0, 0 }, { 15, 0, 0, 0 },
2826*9a19cd78SMatthias Ringwald         { 50, 0, 0, 0 }, { 53, 0, 0, 0 }, { 53, 0, 0, 0 }, { 54,13, 0, 0 },
2827*9a19cd78SMatthias Ringwald         { 21,13, 0, 0 }, { 21,13, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
2828*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 34,60,13, 0 },
2829*9a19cd78SMatthias Ringwald         { 30, 0,13, 0 }, { 30, 0, 0, 0 }, { 48, 0, 0, 0 }, { 33, 0, 0, 0 },
2830*9a19cd78SMatthias Ringwald         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 56,13, 0, 0 },
2831*9a19cd78SMatthias Ringwald         { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 59,13, 0, 0 },
2832*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 24,13, 0, 0 }, { 34,60,13, 0 },
2833*9a19cd78SMatthias Ringwald         { 34, 0,13, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, { 58, 0, 0, 0 },
2834*9a19cd78SMatthias Ringwald         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 21,13, 0, 0 },
2835*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 },
2836*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60, 0, 0 }, { 34,16,13, 0 },
2837*9a19cd78SMatthias Ringwald         {  6, 0,13, 0 }, {  6, 0, 0, 0 }, { 33, 0, 0, 0 }, { 58, 0, 0, 0 },
2838*9a19cd78SMatthias Ringwald         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 61, 0, 0, 0 }, { 21,13, 0, 0 },
2839*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 },
2840*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60, 0, 0 }, { 34,16,13, 0 },
2841*9a19cd78SMatthias Ringwald         { 34, 0,13, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 }, { 53, 0, 0, 0 },
2842*9a19cd78SMatthias Ringwald         { 54, 0, 0, 0 }, { 56,13, 0, 0 }, { 56,13, 0, 0 }, { 57,13, 0, 0 },
2843*9a19cd78SMatthias Ringwald         { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
2844*9a19cd78SMatthias Ringwald         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 25,60, 0, 0 }, { 31,16,13, 0 },
2845*9a19cd78SMatthias Ringwald         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
2846*9a19cd78SMatthias Ringwald         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
2847*9a19cd78SMatthias Ringwald         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
2848*9a19cd78SMatthias Ringwald         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
2849*9a19cd78SMatthias Ringwald         { 31, 0,13, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
2850*9a19cd78SMatthias Ringwald         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13, 0, 0 },
2851*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,13, 0, 0 },
2852*9a19cd78SMatthias Ringwald         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 22,60, 0, 0 }, { 31,16,60, 0 },
2853*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2854*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2855*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2856*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2857*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, {  5,13, 0, 0 }, {  5,13, 0, 0 }, {  5,13, 0, 0 },
2858*9a19cd78SMatthias Ringwald         {  5,13, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 39,13, 0, 0 },
2859*9a19cd78SMatthias Ringwald         { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 42,13, 0, 0 },
2860*9a19cd78SMatthias Ringwald         { 22,13, 0, 0 }, { 22,60, 0, 0 }, { 28,60,13, 0 }, { 31,16,60, 0 },
2861*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2862*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2863*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2864*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
2865*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 },
2866*9a19cd78SMatthias Ringwald         { 41,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
2867*9a19cd78SMatthias Ringwald         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 25,13, 0, 0 },
2868*9a19cd78SMatthias Ringwald         { 28,13, 0, 0 }, { 28,60, 0, 0 }, { 28,60,13, 0 }, { 31,16,60,13 },
2869*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 },
2870*9a19cd78SMatthias Ringwald         { 41,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 24,13, 0, 0 },
2871*9a19cd78SMatthias Ringwald         { 25,60, 0, 0 }, { 25,60, 0, 0 }, { 25,60, 0, 0 }, { 22,60, 0, 0 },
2872*9a19cd78SMatthias Ringwald         { 28,60, 0, 0 }, { 28,60, 0, 0 }, { 34,60,13, 0 }, { 31,16,60,13 },
2873*9a19cd78SMatthias Ringwald         { 31,60,13,13 }, { 10,60,13, 0 }, { 10,60,13, 0 }, { 10,60,13, 0 },
2874*9a19cd78SMatthias Ringwald         { 10,60,13, 0 }, { 10,60,13, 0 }, { 10,60,13, 0 }, { 28,60,13, 0 },
2875*9a19cd78SMatthias Ringwald         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,16,13, 0 }, { 34,16,13, 0 },
2876*9a19cd78SMatthias Ringwald         { 34,16,60, 0 }, { 34,16,60, 0 }, { 31,16,60, 0 }, { 19,37,16,13 } },
2877*9a19cd78SMatthias Ringwald 
2878*9a19cd78SMatthias Ringwald       { {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
2879*9a19cd78SMatthias Ringwald         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
2880*9a19cd78SMatthias Ringwald         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
2881*9a19cd78SMatthias Ringwald         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
2882*9a19cd78SMatthias Ringwald         {  8, 0,16, 0 }, {  8, 0, 0, 0 }, {  9, 0, 0, 0 }, { 11, 0, 0, 0 },
2883*9a19cd78SMatthias Ringwald         { 47, 0, 0, 0 }, { 32, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
2884*9a19cd78SMatthias Ringwald         { 18, 0, 0, 0 }, { 20, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21, 0, 0, 0 },
2885*9a19cd78SMatthias Ringwald         { 21,13, 0, 0 }, { 39,13, 0, 0 }, { 59,13, 0, 0 }, { 34,16,60, 0 },
2886*9a19cd78SMatthias Ringwald         { 26, 0, 0, 0 }, { 26, 0, 0, 0 }, { 27, 0, 0, 0 }, { 29, 0, 0, 0 },
2887*9a19cd78SMatthias Ringwald         { 30, 0, 0, 0 }, { 33, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
2888*9a19cd78SMatthias Ringwald         { 18, 0, 0, 0 }, { 20, 0, 0, 0 }, { 57, 0, 0, 0 }, { 57,13, 0, 0 },
2889*9a19cd78SMatthias Ringwald         { 57,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 34,16,60, 0 },
2890*9a19cd78SMatthias Ringwald         { 27, 0, 0, 0 }, { 27, 0, 0, 0 }, { 11, 0, 0, 0 }, { 12, 0, 0, 0 },
2891*9a19cd78SMatthias Ringwald         { 48, 0, 0, 0 }, { 50, 0, 0, 0 }, { 58, 0, 0, 0 }, { 61, 0, 0, 0 },
2892*9a19cd78SMatthias Ringwald         { 61, 0, 0, 0 }, { 56, 0, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 },
2893*9a19cd78SMatthias Ringwald         { 57,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 34,16,60, 0 },
2894*9a19cd78SMatthias Ringwald         { 45, 0, 0, 0 }, { 45, 0, 0, 0 }, { 12, 0, 0, 0 }, { 30, 0, 0, 0 },
2895*9a19cd78SMatthias Ringwald         { 32, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
2896*9a19cd78SMatthias Ringwald         { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38,13, 0, 0 }, { 57,13, 0, 0 },
2897*9a19cd78SMatthias Ringwald         {  0,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 34,16,60, 0 },
2898*9a19cd78SMatthias Ringwald         { 63, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 }, { 32, 0, 0, 0 },
2899*9a19cd78SMatthias Ringwald         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 20, 0, 0, 0 },
2900*9a19cd78SMatthias Ringwald         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
2901*9a19cd78SMatthias Ringwald         { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13,13, 0 }, { 31,16,60, 0 },
2902*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, {  3, 0, 0, 0 }, {  3, 0, 0, 0 }, { 33, 0, 0, 0 },
2903*9a19cd78SMatthias Ringwald         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 20, 0, 0, 0 },
2904*9a19cd78SMatthias Ringwald         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
2905*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13,13, 0 }, { 31,16,60, 0 },
2906*9a19cd78SMatthias Ringwald         {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 },
2907*9a19cd78SMatthias Ringwald         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 38, 0, 0, 0 },
2908*9a19cd78SMatthias Ringwald         { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 39,13, 0, 0 },
2909*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60,13, 0 }, { 31,16,60, 0 },
2910*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2911*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2912*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2913*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2914*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 51, 0, 0, 0 }, { 53, 0, 0, 0 }, { 53, 0, 0, 0 },
2915*9a19cd78SMatthias Ringwald         { 54, 0, 0, 0 }, { 56, 0, 0, 0 }, { 56, 0, 0, 0 }, { 57,13, 0, 0 },
2916*9a19cd78SMatthias Ringwald         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, {  7,13, 0, 0 },
2917*9a19cd78SMatthias Ringwald         { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 25,60,13, 0 }, { 31,16,60, 0 },
2918*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2919*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2920*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2921*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
2922*9a19cd78SMatthias Ringwald         { 31, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
2923*9a19cd78SMatthias Ringwald         { 54, 0, 0, 0 }, { 21,13, 0, 0 }, { 21, 0, 0, 0 }, { 57,13, 0, 0 },
2924*9a19cd78SMatthias Ringwald         { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
2925*9a19cd78SMatthias Ringwald         { 42,13,13, 0 }, { 42,13,13, 0 }, { 22,60,13, 0 }, { 31,16,60, 0 },
2926*9a19cd78SMatthias Ringwald         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
2927*9a19cd78SMatthias Ringwald         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
2928*9a19cd78SMatthias Ringwald         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
2929*9a19cd78SMatthias Ringwald         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
2930*9a19cd78SMatthias Ringwald         { 31,16, 0, 0 }, {  5, 0, 0, 0 }, {  5, 0, 0, 0 }, {  5, 0, 0, 0 },
2931*9a19cd78SMatthias Ringwald         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 59,13, 0, 0 },
2932*9a19cd78SMatthias Ringwald         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13,13, 0 }, { 42,13,13, 0 },
2933*9a19cd78SMatthias Ringwald         { 22,60,13, 0 }, { 22,60,13, 0 }, { 28,60,13, 0 }, { 31,16,60, 0 },
2934*9a19cd78SMatthias Ringwald         { 31,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 },
2935*9a19cd78SMatthias Ringwald         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13,13, 0 },
2936*9a19cd78SMatthias Ringwald         { 24,60,13, 0 }, { 24,60,13, 0 }, { 24,60,13, 0 }, { 25,60,13, 0 },
2937*9a19cd78SMatthias Ringwald         { 28,60,13, 0 }, { 28,60,13, 0 }, { 34,16,13, 0 }, { 31,16,60, 0 },
2938*9a19cd78SMatthias Ringwald         { 31,16,13, 0 }, { 10,16,13, 0 }, { 10,16,13, 0 }, { 10,16,13, 0 },
2939*9a19cd78SMatthias Ringwald         { 10,16,13, 0 }, { 10,16,60, 0 }, { 10,16,60, 0 }, { 28,16,60, 0 },
2940*9a19cd78SMatthias Ringwald         { 34,16,60, 0 }, { 34,16,60, 0 }, { 34,16,60, 0 }, { 31,16,60, 0 },
2941*9a19cd78SMatthias Ringwald         { 31,16,60, 0 }, { 31,16,60, 0 }, { 31,16,60, 0 }, { 19,37,60, 0 } } }
2942*9a19cd78SMatthias Ringwald };
2943*9a19cd78SMatthias Ringwald 
2944*9a19cd78SMatthias Ringwald const struct lc3_ac_model lc3_spectrum_models[] = {
2945*9a19cd78SMatthias Ringwald 
2946*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    1 }, {    2,  175 }, {  177,   48 },
2947*9a19cd78SMatthias Ringwald         {  225,    1 }, {  226,    1 }, {  227,  109 }, {  336,   36 },
2948*9a19cd78SMatthias Ringwald         {  372,  171 }, {  543,  109 }, {  652,   47 }, {  699,   20 },
2949*9a19cd78SMatthias Ringwald         {  719,   49 }, {  768,   36 }, {  804,   20 }, {  824,   10 },
2950*9a19cd78SMatthias Ringwald         {  834,  190 } } },
2951*9a19cd78SMatthias Ringwald 
2952*9a19cd78SMatthias Ringwald     { { {    0,   18 }, {   18,   26 }, {   44,   17 }, {   61,   10 },
2953*9a19cd78SMatthias Ringwald         {   71,   27 }, {   98,   37 }, {  135,   24 }, {  159,   16 },
2954*9a19cd78SMatthias Ringwald         {  175,   22 }, {  197,   32 }, {  229,   22 }, {  251,   14 },
2955*9a19cd78SMatthias Ringwald         {  265,   17 }, {  282,   26 }, {  308,   20 }, {  328,   13 },
2956*9a19cd78SMatthias Ringwald         {  341,  683 } } },
2957*9a19cd78SMatthias Ringwald 
2958*9a19cd78SMatthias Ringwald     { { {    0,   71 }, {   71,   92 }, {  163,   49 }, {  212,   25 },
2959*9a19cd78SMatthias Ringwald         {  237,   81 }, {  318,  102 }, {  420,   61 }, {  481,   33 },
2960*9a19cd78SMatthias Ringwald         {  514,   42 }, {  556,   57 }, {  613,   39 }, {  652,   23 },
2961*9a19cd78SMatthias Ringwald         {  675,   22 }, {  697,   30 }, {  727,   22 }, {  749,   15 },
2962*9a19cd78SMatthias Ringwald         {  764,  260 } } },
2963*9a19cd78SMatthias Ringwald 
2964*9a19cd78SMatthias Ringwald     { { {    0,  160 }, {  160,  130 }, {  290,   46 }, {  336,   18 },
2965*9a19cd78SMatthias Ringwald         {  354,  121 }, {  475,  123 }, {  598,   55 }, {  653,   24 },
2966*9a19cd78SMatthias Ringwald         {  677,   45 }, {  722,   55 }, {  777,   31 }, {  808,   15 },
2967*9a19cd78SMatthias Ringwald         {  823,   19 }, {  842,   24 }, {  866,   15 }, {  881,    9 },
2968*9a19cd78SMatthias Ringwald         {  890,  134 } } },
2969*9a19cd78SMatthias Ringwald 
2970*9a19cd78SMatthias Ringwald     { { {    0,   71 }, {   71,   73 }, {  144,   33 }, {  177,   18 },
2971*9a19cd78SMatthias Ringwald         {  195,   71 }, {  266,   76 }, {  342,   43 }, {  385,   26 },
2972*9a19cd78SMatthias Ringwald         {  411,   34 }, {  445,   44 }, {  489,   30 }, {  519,   20 },
2973*9a19cd78SMatthias Ringwald         {  539,   20 }, {  559,   27 }, {  586,   21 }, {  607,   15 },
2974*9a19cd78SMatthias Ringwald         {  622,  402 } } },
2975*9a19cd78SMatthias Ringwald 
2976*9a19cd78SMatthias Ringwald     { { {    0,   48 }, {   48,   60 }, {  108,   32 }, {  140,   19 },
2977*9a19cd78SMatthias Ringwald         {  159,   58 }, {  217,   68 }, {  285,   42 }, {  327,   27 },
2978*9a19cd78SMatthias Ringwald         {  354,   31 }, {  385,   42 }, {  427,   30 }, {  457,   21 },
2979*9a19cd78SMatthias Ringwald         {  478,   19 }, {  497,   27 }, {  524,   21 }, {  545,   16 },
2980*9a19cd78SMatthias Ringwald         {  561,  463 } } },
2981*9a19cd78SMatthias Ringwald 
2982*9a19cd78SMatthias Ringwald     { { {    0,  138 }, {  138,  109 }, {  247,   43 }, {  290,   18 },
2983*9a19cd78SMatthias Ringwald         {  308,  111 }, {  419,  112 }, {  531,   53 }, {  584,   25 },
2984*9a19cd78SMatthias Ringwald         {  609,   46 }, {  655,   55 }, {  710,   32 }, {  742,   17 },
2985*9a19cd78SMatthias Ringwald         {  759,   21 }, {  780,   27 }, {  807,   18 }, {  825,   11 },
2986*9a19cd78SMatthias Ringwald         {  836,  188 } } },
2987*9a19cd78SMatthias Ringwald 
2988*9a19cd78SMatthias Ringwald     { { {    0,   16 }, {   16,   24 }, {   40,   22 }, {   62,   17 },
2989*9a19cd78SMatthias Ringwald         {   79,   24 }, {  103,   36 }, {  139,   31 }, {  170,   25 },
2990*9a19cd78SMatthias Ringwald         {  195,   20 }, {  215,   30 }, {  245,   25 }, {  270,   20 },
2991*9a19cd78SMatthias Ringwald         {  290,   15 }, {  305,   22 }, {  327,   19 }, {  346,   16 },
2992*9a19cd78SMatthias Ringwald         {  362,  662 } } },
2993*9a19cd78SMatthias Ringwald 
2994*9a19cd78SMatthias Ringwald     { { {    0,  579 }, {  579,  150 }, {  729,   12 }, {  741,    2 },
2995*9a19cd78SMatthias Ringwald         {  743,  154 }, {  897,   73 }, {  970,   10 }, {  980,    2 },
2996*9a19cd78SMatthias Ringwald         {  982,   14 }, {  996,   11 }, { 1007,    3 }, { 1010,    1 },
2997*9a19cd78SMatthias Ringwald         { 1011,    3 }, { 1014,    3 }, { 1017,    1 }, { 1018,    1 },
2998*9a19cd78SMatthias Ringwald         { 1019,    5 } } },
2999*9a19cd78SMatthias Ringwald 
3000*9a19cd78SMatthias Ringwald     { { {    0,  398 }, {  398,  184 }, {  582,   25 }, {  607,    5 },
3001*9a19cd78SMatthias Ringwald         {  612,  176 }, {  788,  114 }, {  902,   23 }, {  925,    6 },
3002*9a19cd78SMatthias Ringwald         {  931,   25 }, {  956,   23 }, {  979,    8 }, {  987,    3 },
3003*9a19cd78SMatthias Ringwald         {  990,    6 }, {  996,    6 }, { 1002,    3 }, { 1005,    2 },
3004*9a19cd78SMatthias Ringwald         { 1007,   17 } } },
3005*9a19cd78SMatthias Ringwald 
3006*9a19cd78SMatthias Ringwald     { { {    0,   13 }, {   13,   21 }, {   34,   18 }, {   52,   11 },
3007*9a19cd78SMatthias Ringwald         {   63,   20 }, {   83,   29 }, {  112,   22 }, {  134,   15 },
3008*9a19cd78SMatthias Ringwald         {  149,   14 }, {  163,   20 }, {  183,   16 }, {  199,   12 },
3009*9a19cd78SMatthias Ringwald         {  211,   10 }, {  221,   14 }, {  235,   12 }, {  247,   10 },
3010*9a19cd78SMatthias Ringwald         {  257,  767 } } },
3011*9a19cd78SMatthias Ringwald 
3012*9a19cd78SMatthias Ringwald     { { {    0,  281 }, {  281,  183 }, {  464,   37 }, {  501,    9 },
3013*9a19cd78SMatthias Ringwald         {  510,  171 }, {  681,  139 }, {  820,   37 }, {  857,   10 },
3014*9a19cd78SMatthias Ringwald         {  867,   35 }, {  902,   36 }, {  938,   15 }, {  953,    6 },
3015*9a19cd78SMatthias Ringwald         {  959,    9 }, {  968,   10 }, {  978,    6 }, {  984,    3 },
3016*9a19cd78SMatthias Ringwald         {  987,   37 } } },
3017*9a19cd78SMatthias Ringwald 
3018*9a19cd78SMatthias Ringwald     { { {    0,  198 }, {  198,  164 }, {  362,   46 }, {  408,   13 },
3019*9a19cd78SMatthias Ringwald         {  421,  154 }, {  575,  147 }, {  722,   51 }, {  773,   16 },
3020*9a19cd78SMatthias Ringwald         {  789,   43 }, {  832,   49 }, {  881,   24 }, {  905,   10 },
3021*9a19cd78SMatthias Ringwald         {  915,   13 }, {  928,   16 }, {  944,   10 }, {  954,    5 },
3022*9a19cd78SMatthias Ringwald         {  959,   65 } } },
3023*9a19cd78SMatthias Ringwald 
3024*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    1 }, {    2,   93 }, {   95,   44 },
3025*9a19cd78SMatthias Ringwald         {  139,    1 }, {  140,    1 }, {  141,   72 }, {  213,   38 },
3026*9a19cd78SMatthias Ringwald         {  251,   86 }, {  337,   70 }, {  407,   43 }, {  450,   25 },
3027*9a19cd78SMatthias Ringwald         {  475,   40 }, {  515,   36 }, {  551,   25 }, {  576,   16 },
3028*9a19cd78SMatthias Ringwald         {  592,  432 } } },
3029*9a19cd78SMatthias Ringwald 
3030*9a19cd78SMatthias Ringwald     { { {    0,  133 }, {  133,  141 }, {  274,   64 }, {  338,   28 },
3031*9a19cd78SMatthias Ringwald         {  366,  117 }, {  483,  122 }, {  605,   59 }, {  664,   27 },
3032*9a19cd78SMatthias Ringwald         {  691,   39 }, {  730,   48 }, {  778,   29 }, {  807,   15 },
3033*9a19cd78SMatthias Ringwald         {  822,   15 }, {  837,   20 }, {  857,   13 }, {  870,    8 },
3034*9a19cd78SMatthias Ringwald         {  878,  146 } } },
3035*9a19cd78SMatthias Ringwald 
3036*9a19cd78SMatthias Ringwald     { { {    0,  128 }, {  128,  125 }, {  253,   49 }, {  302,   18 },
3037*9a19cd78SMatthias Ringwald         {  320,  123 }, {  443,  134 }, {  577,   59 }, {  636,   23 },
3038*9a19cd78SMatthias Ringwald         {  659,   49 }, {  708,   59 }, {  767,   32 }, {  799,   15 },
3039*9a19cd78SMatthias Ringwald         {  814,   19 }, {  833,   24 }, {  857,   15 }, {  872,    9 },
3040*9a19cd78SMatthias Ringwald         {  881,  143 } } },
3041*9a19cd78SMatthias Ringwald 
3042*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    1 }, {    2,   23 }, {   25,   17 },
3043*9a19cd78SMatthias Ringwald         {   42,    1 }, {   43,    1 }, {   44,   23 }, {   67,   18 },
3044*9a19cd78SMatthias Ringwald         {   85,   20 }, {  105,   21 }, {  126,   18 }, {  144,   15 },
3045*9a19cd78SMatthias Ringwald         {  159,   15 }, {  174,   17 }, {  191,   14 }, {  205,   12 },
3046*9a19cd78SMatthias Ringwald         {  217,  807 } } },
3047*9a19cd78SMatthias Ringwald 
3048*9a19cd78SMatthias Ringwald     { { {    0,   70 }, {   70,   96 }, {  166,   63 }, {  229,   38 },
3049*9a19cd78SMatthias Ringwald         {  267,   89 }, {  356,  112 }, {  468,   65 }, {  533,   36 },
3050*9a19cd78SMatthias Ringwald         {  569,   37 }, {  606,   47 }, {  653,   32 }, {  685,   20 },
3051*9a19cd78SMatthias Ringwald         {  705,   17 }, {  722,   23 }, {  745,   17 }, {  762,   12 },
3052*9a19cd78SMatthias Ringwald         {  774,  250 } } },
3053*9a19cd78SMatthias Ringwald 
3054*9a19cd78SMatthias Ringwald     { { {    0,   55 }, {   55,   75 }, {  130,   45 }, {  175,   25 },
3055*9a19cd78SMatthias Ringwald         {  200,   68 }, {  268,   90 }, {  358,   58 }, {  416,   33 },
3056*9a19cd78SMatthias Ringwald         {  449,   39 }, {  488,   54 }, {  542,   39 }, {  581,   25 },
3057*9a19cd78SMatthias Ringwald         {  606,   22 }, {  628,   31 }, {  659,   24 }, {  683,   16 },
3058*9a19cd78SMatthias Ringwald         {  699,  325 } } },
3059*9a19cd78SMatthias Ringwald 
3060*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    2 }, {    3,    2 }, {    5,    2 },
3061*9a19cd78SMatthias Ringwald         {    7,    2 }, {    9,    2 }, {   11,    2 }, {   13,    2 },
3062*9a19cd78SMatthias Ringwald         {   15,    2 }, {   17,    2 }, {   19,    2 }, {   21,    2 },
3063*9a19cd78SMatthias Ringwald         {   23,    2 }, {   25,    2 }, {   27,    2 }, {   29,    2 },
3064*9a19cd78SMatthias Ringwald         {   31,  993 } } },
3065*9a19cd78SMatthias Ringwald 
3066*9a19cd78SMatthias Ringwald     { { {    0,   34 }, {   34,   51 }, {   85,   38 }, {  123,   24 },
3067*9a19cd78SMatthias Ringwald         {  147,   49 }, {  196,   69 }, {  265,   52 }, {  317,   35 },
3068*9a19cd78SMatthias Ringwald         {  352,   34 }, {  386,   47 }, {  433,   37 }, {  470,   27 },
3069*9a19cd78SMatthias Ringwald         {  497,   21 }, {  518,   31 }, {  549,   25 }, {  574,   19 },
3070*9a19cd78SMatthias Ringwald         {  593,  431 } } },
3071*9a19cd78SMatthias Ringwald 
3072*9a19cd78SMatthias Ringwald     { { {    0,   30 }, {   30,   43 }, {   73,   32 }, {  105,   22 },
3073*9a19cd78SMatthias Ringwald         {  127,   43 }, {  170,   59 }, {  229,   45 }, {  274,   31 },
3074*9a19cd78SMatthias Ringwald         {  305,   30 }, {  335,   42 }, {  377,   34 }, {  411,   25 },
3075*9a19cd78SMatthias Ringwald         {  436,   19 }, {  455,   28 }, {  483,   23 }, {  506,   18 },
3076*9a19cd78SMatthias Ringwald         {  524,  500 } } },
3077*9a19cd78SMatthias Ringwald 
3078*9a19cd78SMatthias Ringwald     { { {    0,    9 }, {    9,   15 }, {   24,   14 }, {   38,   13 },
3079*9a19cd78SMatthias Ringwald         {   51,   14 }, {   65,   22 }, {   87,   21 }, {  108,   18 },
3080*9a19cd78SMatthias Ringwald         {  126,   13 }, {  139,   20 }, {  159,   18 }, {  177,   16 },
3081*9a19cd78SMatthias Ringwald         {  193,   11 }, {  204,   17 }, {  221,   15 }, {  236,   14 },
3082*9a19cd78SMatthias Ringwald         {  250,  774 } } },
3083*9a19cd78SMatthias Ringwald 
3084*9a19cd78SMatthias Ringwald     { { {    0,   30 }, {   30,   44 }, {   74,   31 }, {  105,   20 },
3085*9a19cd78SMatthias Ringwald         {  125,   41 }, {  166,   58 }, {  224,   42 }, {  266,   28 },
3086*9a19cd78SMatthias Ringwald         {  294,   28 }, {  322,   39 }, {  361,   30 }, {  391,   22 },
3087*9a19cd78SMatthias Ringwald         {  413,   18 }, {  431,   26 }, {  457,   21 }, {  478,   16 },
3088*9a19cd78SMatthias Ringwald         {  494,  530 } } },
3089*9a19cd78SMatthias Ringwald 
3090*9a19cd78SMatthias Ringwald     { { {    0,   15 }, {   15,   23 }, {   38,   20 }, {   58,   15 },
3091*9a19cd78SMatthias Ringwald         {   73,   22 }, {   95,   33 }, {  128,   28 }, {  156,   22 },
3092*9a19cd78SMatthias Ringwald         {  178,   18 }, {  196,   26 }, {  222,   23 }, {  245,   18 },
3093*9a19cd78SMatthias Ringwald         {  263,   13 }, {  276,   20 }, {  296,   18 }, {  314,   15 },
3094*9a19cd78SMatthias Ringwald         {  329,  695 } } },
3095*9a19cd78SMatthias Ringwald 
3096*9a19cd78SMatthias Ringwald     { { {    0,   11 }, {   11,   17 }, {   28,   16 }, {   44,   13 },
3097*9a19cd78SMatthias Ringwald         {   57,   17 }, {   74,   26 }, {  100,   23 }, {  123,   19 },
3098*9a19cd78SMatthias Ringwald         {  142,   15 }, {  157,   22 }, {  179,   20 }, {  199,   17 },
3099*9a19cd78SMatthias Ringwald         {  216,   12 }, {  228,   18 }, {  246,   16 }, {  262,   14 },
3100*9a19cd78SMatthias Ringwald         {  276,  748 } } },
3101*9a19cd78SMatthias Ringwald 
3102*9a19cd78SMatthias Ringwald     { { {    0,  448 }, {  448,  171 }, {  619,   20 }, {  639,    4 },
3103*9a19cd78SMatthias Ringwald         {  643,  178 }, {  821,  105 }, {  926,   18 }, {  944,    4 },
3104*9a19cd78SMatthias Ringwald         {  948,   23 }, {  971,   20 }, {  991,    7 }, {  998,    2 },
3105*9a19cd78SMatthias Ringwald         { 1000,    5 }, { 1005,    5 }, { 1010,    2 }, { 1012,    1 },
3106*9a19cd78SMatthias Ringwald         { 1013,   11 } } },
3107*9a19cd78SMatthias Ringwald 
3108*9a19cd78SMatthias Ringwald     { { {    0,  332 }, {  332,  188 }, {  520,   29 }, {  549,    6 },
3109*9a19cd78SMatthias Ringwald         {  555,  186 }, {  741,  133 }, {  874,   29 }, {  903,    7 },
3110*9a19cd78SMatthias Ringwald         {  910,   30 }, {  940,   30 }, {  970,   11 }, {  981,    4 },
3111*9a19cd78SMatthias Ringwald         {  985,    6 }, {  991,    7 }, {  998,    4 }, { 1002,    2 },
3112*9a19cd78SMatthias Ringwald         { 1004,   20 } } },
3113*9a19cd78SMatthias Ringwald 
3114*9a19cd78SMatthias Ringwald     { { {    0,    8 }, {    8,   13 }, {   21,   13 }, {   34,   11 },
3115*9a19cd78SMatthias Ringwald         {   45,   13 }, {   58,   20 }, {   78,   18 }, {   96,   16 },
3116*9a19cd78SMatthias Ringwald         {  112,   12 }, {  124,   17 }, {  141,   16 }, {  157,   13 },
3117*9a19cd78SMatthias Ringwald         {  170,   10 }, {  180,   14 }, {  194,   13 }, {  207,   12 },
3118*9a19cd78SMatthias Ringwald         {  219,  805 } } },
3119*9a19cd78SMatthias Ringwald 
3120*9a19cd78SMatthias Ringwald     { { {    0,  239 }, {  239,  176 }, {  415,   42 }, {  457,   11 },
3121*9a19cd78SMatthias Ringwald         {  468,  163 }, {  631,  145 }, {  776,   44 }, {  820,   13 },
3122*9a19cd78SMatthias Ringwald         {  833,   39 }, {  872,   42 }, {  914,   19 }, {  933,    7 },
3123*9a19cd78SMatthias Ringwald         {  940,   11 }, {  951,   13 }, {  964,    7 }, {  971,    4 },
3124*9a19cd78SMatthias Ringwald         {  975,   49 } } },
3125*9a19cd78SMatthias Ringwald 
3126*9a19cd78SMatthias Ringwald     { { {    0,  165 }, {  165,  145 }, {  310,   49 }, {  359,   16 },
3127*9a19cd78SMatthias Ringwald         {  375,  138 }, {  513,  139 }, {  652,   55 }, {  707,   20 },
3128*9a19cd78SMatthias Ringwald         {  727,   47 }, {  774,   54 }, {  828,   28 }, {  856,   12 },
3129*9a19cd78SMatthias Ringwald         {  868,   16 }, {  884,   20 }, {  904,   12 }, {  916,    7 },
3130*9a19cd78SMatthias Ringwald         {  923,  101 } } },
3131*9a19cd78SMatthias Ringwald 
3132*9a19cd78SMatthias Ringwald     { { {    0,    3 }, {    3,    5 }, {    8,    5 }, {   13,    5 },
3133*9a19cd78SMatthias Ringwald         {   18,    5 }, {   23,    7 }, {   30,    7 }, {   37,    7 },
3134*9a19cd78SMatthias Ringwald         {   44,    4 }, {   48,    7 }, {   55,    7 }, {   62,    6 },
3135*9a19cd78SMatthias Ringwald         {   68,    4 }, {   72,    6 }, {   78,    6 }, {   84,    6 },
3136*9a19cd78SMatthias Ringwald         {   90,  934 } } },
3137*9a19cd78SMatthias Ringwald 
3138*9a19cd78SMatthias Ringwald     { { {    0,  115 }, {  115,  122 }, {  237,   52 }, {  289,   22 },
3139*9a19cd78SMatthias Ringwald         {  311,  111 }, {  422,  125 }, {  547,   61 }, {  608,   27 },
3140*9a19cd78SMatthias Ringwald         {  635,   45 }, {  680,   57 }, {  737,   34 }, {  771,   17 },
3141*9a19cd78SMatthias Ringwald         {  788,   19 }, {  807,   25 }, {  832,   17 }, {  849,   10 },
3142*9a19cd78SMatthias Ringwald         {  859,  165 } } },
3143*9a19cd78SMatthias Ringwald 
3144*9a19cd78SMatthias Ringwald     { { {    0,  107 }, {  107,  114 }, {  221,   51 }, {  272,   21 },
3145*9a19cd78SMatthias Ringwald         {  293,  106 }, {  399,  122 }, {  521,   61 }, {  582,   28 },
3146*9a19cd78SMatthias Ringwald         {  610,   46 }, {  656,   58 }, {  714,   35 }, {  749,   18 },
3147*9a19cd78SMatthias Ringwald         {  767,   20 }, {  787,   26 }, {  813,   18 }, {  831,   11 },
3148*9a19cd78SMatthias Ringwald         {  842,  182 } } },
3149*9a19cd78SMatthias Ringwald 
3150*9a19cd78SMatthias Ringwald     { { {    0,    6 }, {    6,   10 }, {   16,   10 }, {   26,    9 },
3151*9a19cd78SMatthias Ringwald         {   35,   10 }, {   45,   15 }, {   60,   15 }, {   75,   14 },
3152*9a19cd78SMatthias Ringwald         {   89,    9 }, {   98,   14 }, {  112,   13 }, {  125,   12 },
3153*9a19cd78SMatthias Ringwald         {  137,    8 }, {  145,   12 }, {  157,   11 }, {  168,   10 },
3154*9a19cd78SMatthias Ringwald         {  178,  846 } } },
3155*9a19cd78SMatthias Ringwald 
3156*9a19cd78SMatthias Ringwald     { { {    0,   72 }, {   72,   88 }, {  160,   50 }, {  210,   26 },
3157*9a19cd78SMatthias Ringwald         {  236,   84 }, {  320,  102 }, {  422,   60 }, {  482,   32 },
3158*9a19cd78SMatthias Ringwald         {  514,   41 }, {  555,   53 }, {  608,   36 }, {  644,   21 },
3159*9a19cd78SMatthias Ringwald         {  665,   20 }, {  685,   27 }, {  712,   20 }, {  732,   13 },
3160*9a19cd78SMatthias Ringwald         {  745,  279 } } },
3161*9a19cd78SMatthias Ringwald 
3162*9a19cd78SMatthias Ringwald     { { {    0,   45 }, {   45,   63 }, {  108,   45 }, {  153,   30 },
3163*9a19cd78SMatthias Ringwald         {  183,   61 }, {  244,   83 }, {  327,   58 }, {  385,   36 },
3164*9a19cd78SMatthias Ringwald         {  421,   34 }, {  455,   47 }, {  502,   34 }, {  536,   23 },
3165*9a19cd78SMatthias Ringwald         {  559,   19 }, {  578,   27 }, {  605,   21 }, {  626,   15 },
3166*9a19cd78SMatthias Ringwald         {  641,  383 } } },
3167*9a19cd78SMatthias Ringwald 
3168*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    1 }, {    2,    7 }, {    9,    7 },
3169*9a19cd78SMatthias Ringwald         {   16,    1 }, {   17,    1 }, {   18,    8 }, {   26,    8 },
3170*9a19cd78SMatthias Ringwald         {   34,    6 }, {   40,    8 }, {   48,    7 }, {   55,    7 },
3171*9a19cd78SMatthias Ringwald         {   62,    6 }, {   68,    7 }, {   75,    7 }, {   82,    6 },
3172*9a19cd78SMatthias Ringwald         {   88,  936 } } },
3173*9a19cd78SMatthias Ringwald 
3174*9a19cd78SMatthias Ringwald     { { {    0,   29 }, {   29,   44 }, {   73,   35 }, {  108,   24 },
3175*9a19cd78SMatthias Ringwald         {  132,   42 }, {  174,   62 }, {  236,   48 }, {  284,   34 },
3176*9a19cd78SMatthias Ringwald         {  318,   30 }, {  348,   43 }, {  391,   35 }, {  426,   26 },
3177*9a19cd78SMatthias Ringwald         {  452,   19 }, {  471,   29 }, {  500,   24 }, {  524,   19 },
3178*9a19cd78SMatthias Ringwald         {  543,  481 } } },
3179*9a19cd78SMatthias Ringwald 
3180*9a19cd78SMatthias Ringwald     { { {    0,   20 }, {   20,   31 }, {   51,   25 }, {   76,   17 },
3181*9a19cd78SMatthias Ringwald         {   93,   30 }, {  123,   43 }, {  166,   34 }, {  200,   25 },
3182*9a19cd78SMatthias Ringwald         {  225,   22 }, {  247,   32 }, {  279,   26 }, {  305,   21 },
3183*9a19cd78SMatthias Ringwald         {  326,   16 }, {  342,   23 }, {  365,   20 }, {  385,   16 },
3184*9a19cd78SMatthias Ringwald         {  401,  623 } } },
3185*9a19cd78SMatthias Ringwald 
3186*9a19cd78SMatthias Ringwald     { { {    0,  742 }, {  742,  103 }, {  845,    5 }, {  850,    1 },
3187*9a19cd78SMatthias Ringwald         {  851,  108 }, {  959,   38 }, {  997,    4 }, { 1001,    1 },
3188*9a19cd78SMatthias Ringwald         { 1002,    7 }, { 1009,    5 }, { 1014,    2 }, { 1016,    1 },
3189*9a19cd78SMatthias Ringwald         { 1017,    2 }, { 1019,    1 }, { 1020,    1 }, { 1021,    1 },
3190*9a19cd78SMatthias Ringwald         { 1022,    2 } } },
3191*9a19cd78SMatthias Ringwald 
3192*9a19cd78SMatthias Ringwald     { { {    0,   42 }, {   42,   52 }, {   94,   27 }, {  121,   16 },
3193*9a19cd78SMatthias Ringwald         {  137,   49 }, {  186,   58 }, {  244,   36 }, {  280,   23 },
3194*9a19cd78SMatthias Ringwald         {  303,   27 }, {  330,   36 }, {  366,   26 }, {  392,   18 },
3195*9a19cd78SMatthias Ringwald         {  410,   17 }, {  427,   24 }, {  451,   19 }, {  470,   14 },
3196*9a19cd78SMatthias Ringwald         {  484,  540 } } },
3197*9a19cd78SMatthias Ringwald 
3198*9a19cd78SMatthias Ringwald     { { {    0,   13 }, {   13,   20 }, {   33,   18 }, {   51,   15 },
3199*9a19cd78SMatthias Ringwald         {   66,   19 }, {   85,   29 }, {  114,   26 }, {  140,   21 },
3200*9a19cd78SMatthias Ringwald         {  161,   17 }, {  178,   25 }, {  203,   22 }, {  225,   18 },
3201*9a19cd78SMatthias Ringwald         {  243,   13 }, {  256,   19 }, {  275,   17 }, {  292,   15 },
3202*9a19cd78SMatthias Ringwald         {  307,  717 } } },
3203*9a19cd78SMatthias Ringwald 
3204*9a19cd78SMatthias Ringwald     { { {    0,  501 }, {  501,  169 }, {  670,   19 }, {  689,    4 },
3205*9a19cd78SMatthias Ringwald         {  693,  155 }, {  848,   88 }, {  936,   16 }, {  952,    4 },
3206*9a19cd78SMatthias Ringwald         {  956,   19 }, {  975,   16 }, {  991,    6 }, {  997,    2 },
3207*9a19cd78SMatthias Ringwald         {  999,    5 }, { 1004,    4 }, { 1008,    2 }, { 1010,    1 },
3208*9a19cd78SMatthias Ringwald         { 1011,   13 } } },
3209*9a19cd78SMatthias Ringwald 
3210*9a19cd78SMatthias Ringwald     { { {    0,  445 }, {  445,  136 }, {  581,   22 }, {  603,    6 },
3211*9a19cd78SMatthias Ringwald         {  609,  158 }, {  767,   98 }, {  865,   23 }, {  888,    7 },
3212*9a19cd78SMatthias Ringwald         {  895,   31 }, {  926,   28 }, {  954,   10 }, {  964,    4 },
3213*9a19cd78SMatthias Ringwald         {  968,    9 }, {  977,    9 }, {  986,    5 }, {  991,    2 },
3214*9a19cd78SMatthias Ringwald         {  993,   31 } } },
3215*9a19cd78SMatthias Ringwald 
3216*9a19cd78SMatthias Ringwald     { { {    0,  285 }, {  285,  157 }, {  442,   37 }, {  479,   10 },
3217*9a19cd78SMatthias Ringwald         {  489,  161 }, {  650,  129 }, {  779,   39 }, {  818,   12 },
3218*9a19cd78SMatthias Ringwald         {  830,   40 }, {  870,   42 }, {  912,   18 }, {  930,    7 },
3219*9a19cd78SMatthias Ringwald         {  937,   12 }, {  949,   14 }, {  963,    8 }, {  971,    4 },
3220*9a19cd78SMatthias Ringwald         {  975,   49 } } },
3221*9a19cd78SMatthias Ringwald 
3222*9a19cd78SMatthias Ringwald     { { {    0,  349 }, {  349,  179 }, {  528,   33 }, {  561,    8 },
3223*9a19cd78SMatthias Ringwald         {  569,  162 }, {  731,  121 }, {  852,   31 }, {  883,    9 },
3224*9a19cd78SMatthias Ringwald         {  892,   31 }, {  923,   30 }, {  953,   12 }, {  965,    5 },
3225*9a19cd78SMatthias Ringwald         {  970,    8 }, {  978,    9 }, {  987,    5 }, {  992,    2 },
3226*9a19cd78SMatthias Ringwald         {  994,   30 } } },
3227*9a19cd78SMatthias Ringwald 
3228*9a19cd78SMatthias Ringwald     { { {    0,  199 }, {  199,  156 }, {  355,   47 }, {  402,   15 },
3229*9a19cd78SMatthias Ringwald         {  417,  146 }, {  563,  137 }, {  700,   50 }, {  750,   17 },
3230*9a19cd78SMatthias Ringwald         {  767,   44 }, {  811,   49 }, {  860,   24 }, {  884,   10 },
3231*9a19cd78SMatthias Ringwald         {  894,   15 }, {  909,   17 }, {  926,   10 }, {  936,    6 },
3232*9a19cd78SMatthias Ringwald         {  942,   82 } } },
3233*9a19cd78SMatthias Ringwald 
3234*9a19cd78SMatthias Ringwald     { { {    0,  141 }, {  141,  134 }, {  275,   50 }, {  325,   18 },
3235*9a19cd78SMatthias Ringwald         {  343,  128 }, {  471,  135 }, {  606,   58 }, {  664,   22 },
3236*9a19cd78SMatthias Ringwald         {  686,   48 }, {  734,   57 }, {  791,   31 }, {  822,   14 },
3237*9a19cd78SMatthias Ringwald         {  836,   18 }, {  854,   23 }, {  877,   14 }, {  891,    8 },
3238*9a19cd78SMatthias Ringwald         {  899,  125 } } },
3239*9a19cd78SMatthias Ringwald 
3240*9a19cd78SMatthias Ringwald     { { {    0,  243 }, {  243,  194 }, {  437,   56 }, {  493,   17 },
3241*9a19cd78SMatthias Ringwald         {  510,  139 }, {  649,  126 }, {  775,   45 }, {  820,   16 },
3242*9a19cd78SMatthias Ringwald         {  836,   33 }, {  869,   36 }, {  905,   18 }, {  923,    8 },
3243*9a19cd78SMatthias Ringwald         {  931,   10 }, {  941,   12 }, {  953,    7 }, {  960,    4 },
3244*9a19cd78SMatthias Ringwald         {  964,   60 } } },
3245*9a19cd78SMatthias Ringwald 
3246*9a19cd78SMatthias Ringwald     { { {    0,   91 }, {   91,  106 }, {  197,   51 }, {  248,   23 },
3247*9a19cd78SMatthias Ringwald         {  271,   99 }, {  370,  117 }, {  487,   63 }, {  550,   30 },
3248*9a19cd78SMatthias Ringwald         {  580,   45 }, {  625,   59 }, {  684,   37 }, {  721,   20 },
3249*9a19cd78SMatthias Ringwald         {  741,   20 }, {  761,   27 }, {  788,   19 }, {  807,   12 },
3250*9a19cd78SMatthias Ringwald         {  819,  205 } } },
3251*9a19cd78SMatthias Ringwald 
3252*9a19cd78SMatthias Ringwald     { { {    0,  107 }, {  107,   94 }, {  201,   41 }, {  242,   20 },
3253*9a19cd78SMatthias Ringwald         {  262,   92 }, {  354,   97 }, {  451,   52 }, {  503,   28 },
3254*9a19cd78SMatthias Ringwald         {  531,   42 }, {  573,   53 }, {  626,   34 }, {  660,   20 },
3255*9a19cd78SMatthias Ringwald         {  680,   21 }, {  701,   29 }, {  730,   21 }, {  751,   14 },
3256*9a19cd78SMatthias Ringwald         {  765,  259 } } },
3257*9a19cd78SMatthias Ringwald 
3258*9a19cd78SMatthias Ringwald     { { {    0,  168 }, {  168,  171 }, {  339,   68 }, {  407,   25 },
3259*9a19cd78SMatthias Ringwald         {  432,  121 }, {  553,  123 }, {  676,   55 }, {  731,   24 },
3260*9a19cd78SMatthias Ringwald         {  755,   34 }, {  789,   41 }, {  830,   24 }, {  854,   12 },
3261*9a19cd78SMatthias Ringwald         {  866,   13 }, {  879,   16 }, {  895,   11 }, {  906,    6 },
3262*9a19cd78SMatthias Ringwald         {  912,  112 } } },
3263*9a19cd78SMatthias Ringwald 
3264*9a19cd78SMatthias Ringwald     { { {    0,   67 }, {   67,   80 }, {  147,   44 }, {  191,   23 },
3265*9a19cd78SMatthias Ringwald         {  214,   76 }, {  290,   94 }, {  384,   57 }, {  441,   31 },
3266*9a19cd78SMatthias Ringwald         {  472,   41 }, {  513,   54 }, {  567,   37 }, {  604,   23 },
3267*9a19cd78SMatthias Ringwald         {  627,   21 }, {  648,   30 }, {  678,   22 }, {  700,   15 },
3268*9a19cd78SMatthias Ringwald         {  715,  309 } } },
3269*9a19cd78SMatthias Ringwald 
3270*9a19cd78SMatthias Ringwald     { { {    0,   46 }, {   46,   63 }, {  109,   39 }, {  148,   23 },
3271*9a19cd78SMatthias Ringwald         {  171,   58 }, {  229,   78 }, {  307,   52 }, {  359,   32 },
3272*9a19cd78SMatthias Ringwald         {  391,   36 }, {  427,   49 }, {  476,   37 }, {  513,   24 },
3273*9a19cd78SMatthias Ringwald         {  537,   21 }, {  558,   30 }, {  588,   24 }, {  612,   17 },
3274*9a19cd78SMatthias Ringwald         {  629,  395 } } },
3275*9a19cd78SMatthias Ringwald 
3276*9a19cd78SMatthias Ringwald     { { {    0,  848 }, {  848,   70 }, {  918,    2 }, {  920,    1 },
3277*9a19cd78SMatthias Ringwald         {  921,   75 }, {  996,   16 }, { 1012,    1 }, { 1013,    1 },
3278*9a19cd78SMatthias Ringwald         { 1014,    2 }, { 1016,    1 }, { 1017,    1 }, { 1018,    1 },
3279*9a19cd78SMatthias Ringwald         { 1019,    1 }, { 1020,    1 }, { 1021,    1 }, { 1022,    1 },
3280*9a19cd78SMatthias Ringwald         { 1023,    1 } } },
3281*9a19cd78SMatthias Ringwald 
3282*9a19cd78SMatthias Ringwald     { { {    0,   36 }, {   36,   52 }, {   88,   35 }, {  123,   22 },
3283*9a19cd78SMatthias Ringwald         {  145,   48 }, {  193,   67 }, {  260,   48 }, {  308,   32 },
3284*9a19cd78SMatthias Ringwald         {  340,   32 }, {  372,   45 }, {  417,   35 }, {  452,   24 },
3285*9a19cd78SMatthias Ringwald         {  476,   20 }, {  496,   29 }, {  525,   23 }, {  548,   17 },
3286*9a19cd78SMatthias Ringwald         {  565,  459 } } },
3287*9a19cd78SMatthias Ringwald 
3288*9a19cd78SMatthias Ringwald     { { {    0,   24 }, {   24,   37 }, {   61,   29 }, {   90,   20 },
3289*9a19cd78SMatthias Ringwald         {  110,   35 }, {  145,   51 }, {  196,   41 }, {  237,   29 },
3290*9a19cd78SMatthias Ringwald         {  266,   26 }, {  292,   38 }, {  330,   31 }, {  361,   24 },
3291*9a19cd78SMatthias Ringwald         {  385,   18 }, {  403,   27 }, {  430,   23 }, {  453,   18 },
3292*9a19cd78SMatthias Ringwald         {  471,  553 } } },
3293*9a19cd78SMatthias Ringwald 
3294*9a19cd78SMatthias Ringwald     { { {    0,   85 }, {   85,   97 }, {  182,   48 }, {  230,   23 },
3295*9a19cd78SMatthias Ringwald         {  253,   91 }, {  344,  110 }, {  454,   61 }, {  515,   30 },
3296*9a19cd78SMatthias Ringwald         {  545,   45 }, {  590,   58 }, {  648,   37 }, {  685,   21 },
3297*9a19cd78SMatthias Ringwald         {  706,   21 }, {  727,   29 }, {  756,   20 }, {  776,   13 },
3298*9a19cd78SMatthias Ringwald         {  789,  235 } } },
3299*9a19cd78SMatthias Ringwald 
3300*9a19cd78SMatthias Ringwald     { { {    0,   22 }, {   22,   33 }, {   55,   27 }, {   82,   20 },
3301*9a19cd78SMatthias Ringwald         {  102,   33 }, {  135,   48 }, {  183,   39 }, {  222,   30 },
3302*9a19cd78SMatthias Ringwald         {  252,   26 }, {  278,   37 }, {  315,   30 }, {  345,   23 },
3303*9a19cd78SMatthias Ringwald         {  368,   17 }, {  385,   25 }, {  410,   21 }, {  431,   17 },
3304*9a19cd78SMatthias Ringwald         {  448,  576 } } },
3305*9a19cd78SMatthias Ringwald 
3306*9a19cd78SMatthias Ringwald     { { {    0,    1 }, {    1,    1 }, {    2,   54 }, {   56,   33 },
3307*9a19cd78SMatthias Ringwald         {   89,    1 }, {   90,    1 }, {   91,   49 }, {  140,   32 },
3308*9a19cd78SMatthias Ringwald         {  172,   49 }, {  221,   47 }, {  268,   35 }, {  303,   25 },
3309*9a19cd78SMatthias Ringwald         {  328,   30 }, {  358,   30 }, {  388,   24 }, {  412,   18 },
3310*9a19cd78SMatthias Ringwald         {  430,  594 } } },
3311*9a19cd78SMatthias Ringwald 
3312*9a19cd78SMatthias Ringwald     { { {    0,   45 }, {   45,   64 }, {  109,   43 }, {  152,   25 },
3313*9a19cd78SMatthias Ringwald         {  177,   62 }, {  239,   81 }, {  320,   56 }, {  376,   35 },
3314*9a19cd78SMatthias Ringwald         {  411,   37 }, {  448,   51 }, {  499,   38 }, {  537,   26 },
3315*9a19cd78SMatthias Ringwald         {  563,   22 }, {  585,   31 }, {  616,   24 }, {  640,   18 },
3316*9a19cd78SMatthias Ringwald         {  658,  366 } } },
3317*9a19cd78SMatthias Ringwald 
3318*9a19cd78SMatthias Ringwald     { { {    0,  247 }, {  247,  148 }, {  395,   38 }, {  433,   12 },
3319*9a19cd78SMatthias Ringwald         {  445,  154 }, {  599,  130 }, {  729,   42 }, {  771,   14 },
3320*9a19cd78SMatthias Ringwald         {  785,   44 }, {  829,   46 }, {  875,   21 }, {  896,    9 },
3321*9a19cd78SMatthias Ringwald         {  905,   15 }, {  920,   17 }, {  937,    9 }, {  946,    5 },
3322*9a19cd78SMatthias Ringwald         {  951,   73 } } },
3323*9a19cd78SMatthias Ringwald 
3324*9a19cd78SMatthias Ringwald     { { {    0,  231 }, {  231,  136 }, {  367,   41 }, {  408,   15 },
3325*9a19cd78SMatthias Ringwald         {  423,  134 }, {  557,  119 }, {  676,   47 }, {  723,   19 },
3326*9a19cd78SMatthias Ringwald         {  742,   44 }, {  786,   49 }, {  835,   25 }, {  860,   12 },
3327*9a19cd78SMatthias Ringwald         {  872,   17 }, {  889,   20 }, {  909,   12 }, {  921,    7 },
3328*9a19cd78SMatthias Ringwald         {  928,   96 } } }
3329*9a19cd78SMatthias Ringwald 
3330*9a19cd78SMatthias Ringwald };
3331*9a19cd78SMatthias Ringwald 
3332*9a19cd78SMatthias Ringwald const uint16_t lc3_spectrum_bits[][17] = {
3333*9a19cd78SMatthias Ringwald 
3334*9a19cd78SMatthias Ringwald     { 20480, 20480,  5220,  9042, 20480, 20480,  6619,  9892,
3335*9a19cd78SMatthias Ringwald        5289,  6619,  9105, 11629,  8982,  9892, 11629, 13677,  4977 },
3336*9a19cd78SMatthias Ringwald 
3337*9a19cd78SMatthias Ringwald     { 11940, 10854, 12109, 13677, 10742,  9812, 11090, 12288,
3338*9a19cd78SMatthias Ringwald       11348, 10240, 11348, 12683, 12109, 10854, 11629, 12902,  1197 },
3339*9a19cd78SMatthias Ringwald 
3340*9a19cd78SMatthias Ringwald     {  7886,  7120,  8982, 10970,  7496,  6815,  8334, 10150,
3341*9a19cd78SMatthias Ringwald        9437,  8535,  9656, 11216, 11348, 10431, 11348, 12479,  4051 },
3342*9a19cd78SMatthias Ringwald 
3343*9a19cd78SMatthias Ringwald     {  5485,  6099,  9168, 11940,  6311,  6262,  8640, 11090,
3344*9a19cd78SMatthias Ringwald        9233,  8640, 10334, 12479, 11781, 11090, 12479, 13988,  6009 },
3345*9a19cd78SMatthias Ringwald 
3346*9a19cd78SMatthias Ringwald     {  7886,  7804, 10150, 11940,  7886,  7685,  9368, 10854,
3347*9a19cd78SMatthias Ringwald       10061,  9300, 10431, 11629, 11629, 10742, 11485, 12479,  2763 },
3348*9a19cd78SMatthias Ringwald 
3349*9a19cd78SMatthias Ringwald     {  9042,  8383, 10240, 11781,  8483,  8013,  9437, 10742,
3350*9a19cd78SMatthias Ringwald       10334,  9437, 10431, 11485, 11781, 10742, 11485, 12288,  2346 },
3351*9a19cd78SMatthias Ringwald 
3352*9a19cd78SMatthias Ringwald     {  5922,  6619,  9368, 11940,  6566,  6539,  8750, 10970,
3353*9a19cd78SMatthias Ringwald        9168,  8640, 10240, 12109, 11485, 10742, 11940, 13396,  5009 },
3354*9a19cd78SMatthias Ringwald 
3355*9a19cd78SMatthias Ringwald     { 12288, 11090, 11348, 12109, 11090,  9892, 10334, 10970,
3356*9a19cd78SMatthias Ringwald       11629, 10431, 10970, 11629, 12479, 11348, 11781, 12288,  1289 },
3357*9a19cd78SMatthias Ringwald 
3358*9a19cd78SMatthias Ringwald     {  1685,  5676, 13138, 18432,  5598,  7804, 13677, 18432,
3359*9a19cd78SMatthias Ringwald       12683, 13396, 17234, 20480, 17234, 17234, 20480, 20480, 15725 },
3360*9a19cd78SMatthias Ringwald 
3361*9a19cd78SMatthias Ringwald     {  2793,  5072, 10970, 15725,  5204,  6487, 11216, 15186,
3362*9a19cd78SMatthias Ringwald       10970, 11216, 14336, 17234, 15186, 15186, 17234, 18432, 12109 },
3363*9a19cd78SMatthias Ringwald 
3364*9a19cd78SMatthias Ringwald     { 12902, 11485, 11940, 13396, 11629, 10531, 11348, 12479,
3365*9a19cd78SMatthias Ringwald       12683, 11629, 12288, 13138, 13677, 12683, 13138, 13677,   854 },
3366*9a19cd78SMatthias Ringwald 
3367*9a19cd78SMatthias Ringwald     {  3821,  5088,  9812, 13988,  5289,  5901,  9812, 13677,
3368*9a19cd78SMatthias Ringwald        9976,  9892, 12479, 15186, 13988, 13677, 15186, 17234,  9812 },
3369*9a19cd78SMatthias Ringwald 
3370*9a19cd78SMatthias Ringwald     {  4856,  5412,  9168, 12902,  5598,  5736,  8863, 12288,
3371*9a19cd78SMatthias Ringwald        9368,  8982, 11090, 13677, 12902, 12288, 13677, 15725,  8147 },
3372*9a19cd78SMatthias Ringwald 
3373*9a19cd78SMatthias Ringwald     { 20480, 20480,  7088,  9300, 20480, 20480,  7844,  9733,
3374*9a19cd78SMatthias Ringwald        7320,  7928,  9368, 10970,  9581,  9892, 10970, 12288,  2550 },
3375*9a19cd78SMatthias Ringwald 
3376*9a19cd78SMatthias Ringwald     {  6031,  5859,  8192, 10635,  6410,  6286,  8433, 10742,
3377*9a19cd78SMatthias Ringwald        9656,  9042, 10531, 12479, 12479, 11629, 12902, 14336,  5756 },
3378*9a19cd78SMatthias Ringwald 
3379*9a19cd78SMatthias Ringwald     {  6144,  6215,  8982, 11940,  6262,  6009,  8433, 11216,
3380*9a19cd78SMatthias Ringwald        8982,  8433, 10240, 12479, 11781, 11090, 12479, 13988,  5817 },
3381*9a19cd78SMatthias Ringwald 
3382*9a19cd78SMatthias Ringwald     { 20480, 20480, 11216, 12109, 20480, 20480, 11216, 11940,
3383*9a19cd78SMatthias Ringwald       11629, 11485, 11940, 12479, 12479, 12109, 12683, 13138,   704 },
3384*9a19cd78SMatthias Ringwald 
3385*9a19cd78SMatthias Ringwald     {  7928,  6994,  8239,  9733,  7218,  6539,  8147,  9892,
3386*9a19cd78SMatthias Ringwald        9812,  9105, 10240, 11629, 12109, 11216, 12109, 13138,  4167 },
3387*9a19cd78SMatthias Ringwald 
3388*9a19cd78SMatthias Ringwald     {  8640,  7724,  9233, 10970,  8013,  7185,  8483, 10150,
3389*9a19cd78SMatthias Ringwald        9656,  8694,  9656, 10970, 11348, 10334, 11090, 12288,  3391 },
3390*9a19cd78SMatthias Ringwald 
3391*9a19cd78SMatthias Ringwald     { 20480, 18432, 18432, 18432, 18432, 18432, 18432, 18432,
3392*9a19cd78SMatthias Ringwald       18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432,    91 },
3393*9a19cd78SMatthias Ringwald 
3394*9a19cd78SMatthias Ringwald     { 10061,  8863,  9733, 11090,  8982,  7970,  8806,  9976,
3395*9a19cd78SMatthias Ringwald       10061,  9105,  9812, 10742, 11485, 10334, 10970, 11781,  2557 },
3396*9a19cd78SMatthias Ringwald 
3397*9a19cd78SMatthias Ringwald     { 10431,  9368, 10240, 11348,  9368,  8433,  9233, 10334,
3398*9a19cd78SMatthias Ringwald       10431,  9437, 10061, 10970, 11781, 10635, 11216, 11940,  2119 },
3399*9a19cd78SMatthias Ringwald 
3400*9a19cd78SMatthias Ringwald     { 13988, 12479, 12683, 12902, 12683, 11348, 11485, 11940,
3401*9a19cd78SMatthias Ringwald       12902, 11629, 11940, 12288, 13396, 12109, 12479, 12683,   828 },
3402*9a19cd78SMatthias Ringwald 
3403*9a19cd78SMatthias Ringwald     { 10431,  9300, 10334, 11629,  9508,  8483,  9437, 10635,
3404*9a19cd78SMatthias Ringwald       10635,  9656, 10431, 11348, 11940, 10854, 11485, 12288,  1946 },
3405*9a19cd78SMatthias Ringwald 
3406*9a19cd78SMatthias Ringwald     { 12479, 11216, 11629, 12479, 11348, 10150, 10635, 11348,
3407*9a19cd78SMatthias Ringwald       11940, 10854, 11216, 11940, 12902, 11629, 11940, 12479,  1146 },
3408*9a19cd78SMatthias Ringwald 
3409*9a19cd78SMatthias Ringwald     { 13396, 12109, 12288, 12902, 12109, 10854, 11216, 11781,
3410*9a19cd78SMatthias Ringwald       12479, 11348, 11629, 12109, 13138, 11940, 12288, 12683,   928 },
3411*9a19cd78SMatthias Ringwald 
3412*9a19cd78SMatthias Ringwald     {  2443,  5289, 11629, 16384,  5170,  6730, 11940, 16384,
3413*9a19cd78SMatthias Ringwald       11216, 11629, 14731, 18432, 15725, 15725, 18432, 20480, 13396 },
3414*9a19cd78SMatthias Ringwald 
3415*9a19cd78SMatthias Ringwald     {  3328,  5009, 10531, 15186,  5040,  6031, 10531, 14731,
3416*9a19cd78SMatthias Ringwald       10431, 10431, 13396, 16384, 15186, 14731, 16384, 18432, 11629 },
3417*9a19cd78SMatthias Ringwald 
3418*9a19cd78SMatthias Ringwald     { 14336, 12902, 12902, 13396, 12902, 11629, 11940, 12288,
3419*9a19cd78SMatthias Ringwald       13138, 12109, 12288, 12902, 13677, 12683, 12902, 13138,   711 },
3420*9a19cd78SMatthias Ringwald 
3421*9a19cd78SMatthias Ringwald     {  4300,  5204,  9437, 13396,  5430,  5776,  9300, 12902,
3422*9a19cd78SMatthias Ringwald        9656,  9437, 11781, 14731, 13396, 12902, 14731, 16384,  8982 },
3423*9a19cd78SMatthias Ringwald 
3424*9a19cd78SMatthias Ringwald     {  5394,  5776,  8982, 12288,  5922,  5901,  8640, 11629,
3425*9a19cd78SMatthias Ringwald        9105,  8694, 10635, 13138, 12288, 11629, 13138, 14731,  6844 },
3426*9a19cd78SMatthias Ringwald 
3427*9a19cd78SMatthias Ringwald     { 17234, 15725, 15725, 15725, 15725, 14731, 14731, 14731,
3428*9a19cd78SMatthias Ringwald       16384, 14731, 14731, 15186, 16384, 15186, 15186, 15186,   272 },
3429*9a19cd78SMatthias Ringwald 
3430*9a19cd78SMatthias Ringwald     {  6461,  6286,  8806, 11348,  6566,  6215,  8334, 10742,
3431*9a19cd78SMatthias Ringwald        9233,  8535, 10061, 12109, 11781, 10970, 12109, 13677,  5394 },
3432*9a19cd78SMatthias Ringwald 
3433*9a19cd78SMatthias Ringwald     {  6674,  6487,  8863, 11485,  6702,  6286,  8334, 10635,
3434*9a19cd78SMatthias Ringwald        9168,  8483,  9976, 11940, 11629, 10854, 11940, 13396,  5105 },
3435*9a19cd78SMatthias Ringwald 
3436*9a19cd78SMatthias Ringwald     { 15186, 13677, 13677, 13988, 13677, 12479, 12479, 12683,
3437*9a19cd78SMatthias Ringwald       13988, 12683, 12902, 13138, 14336, 13138, 13396, 13677,   565 },
3438*9a19cd78SMatthias Ringwald 
3439*9a19cd78SMatthias Ringwald     {  7844,  7252,  8922, 10854,  7389,  6815,  8383, 10240,
3440*9a19cd78SMatthias Ringwald        9508,  8750,  9892, 11485, 11629, 10742, 11629, 12902,  3842 },
3441*9a19cd78SMatthias Ringwald 
3442*9a19cd78SMatthias Ringwald     {  9233,  8239,  9233, 10431,  8334,  7424,  8483,  9892,
3443*9a19cd78SMatthias Ringwald       10061,  9105, 10061, 11216, 11781, 10742, 11485, 12479,  2906 },
3444*9a19cd78SMatthias Ringwald 
3445*9a19cd78SMatthias Ringwald     { 20480, 20480, 14731, 14731, 20480, 20480, 14336, 14336,
3446*9a19cd78SMatthias Ringwald       15186, 14336, 14731, 14731, 15186, 14731, 14731, 15186,   266 },
3447*9a19cd78SMatthias Ringwald 
3448*9a19cd78SMatthias Ringwald     { 10531,  9300,  9976, 11090,  9437,  8286,  9042, 10061,
3449*9a19cd78SMatthias Ringwald       10431,  9368,  9976, 10854, 11781, 10531, 11090, 11781,  2233 },
3450*9a19cd78SMatthias Ringwald 
3451*9a19cd78SMatthias Ringwald     { 11629, 10334, 10970, 12109, 10431,  9368, 10061, 10970,
3452*9a19cd78SMatthias Ringwald       11348, 10240, 10854, 11485, 12288, 11216, 11629, 12288,  1469 },
3453*9a19cd78SMatthias Ringwald 
3454*9a19cd78SMatthias Ringwald     {   952,  6787, 15725, 20480,  6646,  9733, 16384, 20480,
3455*9a19cd78SMatthias Ringwald       14731, 15725, 18432, 20480, 18432, 20480, 20480, 20480, 18432 },
3456*9a19cd78SMatthias Ringwald 
3457*9a19cd78SMatthias Ringwald     {  9437,  8806, 10742, 12288,  8982,  8483,  9892, 11216,
3458*9a19cd78SMatthias Ringwald       10742,  9892, 10854, 11940, 12109, 11090, 11781, 12683,  1891 },
3459*9a19cd78SMatthias Ringwald 
3460*9a19cd78SMatthias Ringwald     { 12902, 11629, 11940, 12479, 11781, 10531, 10854, 11485,
3461*9a19cd78SMatthias Ringwald       12109, 10970, 11348, 11940, 12902, 11781, 12109, 12479,  1054 },
3462*9a19cd78SMatthias Ringwald 
3463*9a19cd78SMatthias Ringwald     {  2113,  5323, 11781, 16384,  5579,  7252, 12288, 16384,
3464*9a19cd78SMatthias Ringwald       11781, 12288, 15186, 18432, 15725, 16384, 18432, 20480, 12902 },
3465*9a19cd78SMatthias Ringwald 
3466*9a19cd78SMatthias Ringwald     {  2463,  5965, 11348, 15186,  5522,  6934, 11216, 14731,
3467*9a19cd78SMatthias Ringwald       10334, 10635, 13677, 16384, 13988, 13988, 15725, 18432, 10334 },
3468*9a19cd78SMatthias Ringwald 
3469*9a19cd78SMatthias Ringwald     {  3779,  5541,  9812, 13677,  5467,  6122,  9656, 13138,
3470*9a19cd78SMatthias Ringwald        9581,  9437, 11940, 14731, 13138, 12683, 14336, 16384,  8982 },
3471*9a19cd78SMatthias Ringwald 
3472*9a19cd78SMatthias Ringwald     {  3181,  5154, 10150, 14336,  5448,  6311, 10334, 13988,
3473*9a19cd78SMatthias Ringwald       10334, 10431, 13138, 15725, 14336, 13988, 15725, 18432, 10431 },
3474*9a19cd78SMatthias Ringwald 
3475*9a19cd78SMatthias Ringwald     {  4841,  5560,  9105, 12479,  5756,  5944,  8922, 12109,
3476*9a19cd78SMatthias Ringwald        9300,  8982, 11090, 13677, 12479, 12109, 13677, 15186,  7460 },
3477*9a19cd78SMatthias Ringwald 
3478*9a19cd78SMatthias Ringwald     {  5859,  6009,  8922, 11940,  6144,  5987,  8483, 11348,
3479*9a19cd78SMatthias Ringwald        9042,  8535, 10334, 12683, 11940, 11216, 12683, 14336,  6215 },
3480*9a19cd78SMatthias Ringwald 
3481*9a19cd78SMatthias Ringwald     {  4250,  4916,  8587, 12109,  5901,  6191,  9233, 12288,
3482*9a19cd78SMatthias Ringwald       10150,  9892, 11940, 14336, 13677, 13138, 14731, 16384,  8383 },
3483*9a19cd78SMatthias Ringwald 
3484*9a19cd78SMatthias Ringwald     {  7153,  6702,  8863, 11216,  6904,  6410,  8239, 10431,
3485*9a19cd78SMatthias Ringwald        9233,  8433,  9812, 11629, 11629, 10742, 11781, 13138,  4753 },
3486*9a19cd78SMatthias Ringwald 
3487*9a19cd78SMatthias Ringwald     {  6674,  7057,  9508, 11629,  7120,  6964,  8806, 10635,
3488*9a19cd78SMatthias Ringwald        9437,  8750, 10061, 11629, 11485, 10531, 11485, 12683,  4062 },
3489*9a19cd78SMatthias Ringwald 
3490*9a19cd78SMatthias Ringwald     {  5341,  5289,  8013, 10970,  6311,  6262,  8640, 11090,
3491*9a19cd78SMatthias Ringwald       10061,  9508, 11090, 13138, 12902, 12288, 13396, 15186,  6539 },
3492*9a19cd78SMatthias Ringwald 
3493*9a19cd78SMatthias Ringwald     {  8057,  7533,  9300, 11216,  7685,  7057,  8535, 10334,
3494*9a19cd78SMatthias Ringwald        9508,  8694,  9812, 11216, 11485, 10431, 11348, 12479,  3541 },
3495*9a19cd78SMatthias Ringwald 
3496*9a19cd78SMatthias Ringwald     {  9168,  8239,  9656, 11216,  8483,  7608,  8806, 10240,
3497*9a19cd78SMatthias Ringwald        9892,  8982,  9812, 11090, 11485, 10431, 11090, 12109,  2815 },
3498*9a19cd78SMatthias Ringwald 
3499*9a19cd78SMatthias Ringwald     {   558,  7928, 18432, 20480,  7724, 12288, 20480, 20480,
3500*9a19cd78SMatthias Ringwald       18432, 20480, 20480, 20480, 20480, 20480, 20480, 20480, 20480 },
3501*9a19cd78SMatthias Ringwald 
3502*9a19cd78SMatthias Ringwald     {  9892,  8806,  9976, 11348,  9042,  8057,  9042, 10240,
3503*9a19cd78SMatthias Ringwald       10240,  9233,  9976, 11090, 11629, 10531, 11216, 12109,  2371 },
3504*9a19cd78SMatthias Ringwald 
3505*9a19cd78SMatthias Ringwald     { 11090,  9812, 10531, 11629,  9976,  8863,  9508, 10531,
3506*9a19cd78SMatthias Ringwald       10854,  9733, 10334, 11090, 11940, 10742, 11216, 11940,  1821 },
3507*9a19cd78SMatthias Ringwald 
3508*9a19cd78SMatthias Ringwald     {  7354,  6964,  9042, 11216,  7153,  6592,  8334, 10431,
3509*9a19cd78SMatthias Ringwald        9233,  8483,  9812, 11485, 11485, 10531, 11629, 12902,  4349 },
3510*9a19cd78SMatthias Ringwald 
3511*9a19cd78SMatthias Ringwald     { 11348, 10150, 10742, 11629, 10150,  9042,  9656, 10431,
3512*9a19cd78SMatthias Ringwald       10854,  9812, 10431, 11216, 12109, 10970, 11485, 12109,  1700 },
3513*9a19cd78SMatthias Ringwald 
3514*9a19cd78SMatthias Ringwald     { 20480, 20480,  8694, 10150, 20480, 20480,  8982, 10240,
3515*9a19cd78SMatthias Ringwald        8982,  9105,  9976, 10970, 10431, 10431, 11090, 11940,  1610 },
3516*9a19cd78SMatthias Ringwald 
3517*9a19cd78SMatthias Ringwald     {  9233,  8192,  9368, 10970,  8286,  7496,  8587,  9976,
3518*9a19cd78SMatthias Ringwald        9812,  8863,  9733, 10854, 11348, 10334, 11090, 11940,  3040 },
3519*9a19cd78SMatthias Ringwald 
3520*9a19cd78SMatthias Ringwald     {  4202,  5716,  9733, 13138,  5598,  6099,  9437, 12683,
3521*9a19cd78SMatthias Ringwald        9300,  9168, 11485, 13988, 12479, 12109, 13988, 15725,  7804 },
3522*9a19cd78SMatthias Ringwald 
3523*9a19cd78SMatthias Ringwald     {  4400,  5965,  9508, 12479,  6009,  6360,  9105, 11781,
3524*9a19cd78SMatthias Ringwald        9300,  8982, 10970, 13138, 12109, 11629, 13138, 14731,  6994 }
3525*9a19cd78SMatthias Ringwald 
3526*9a19cd78SMatthias Ringwald };
3527