1 /* ----------------------------------------------------------------------
2 * Copyright (C) 2010 ARM Limited. All rights reserved.
7 * Project: CMSIS DSP Library
8 * Title: arm_cfft_radix4_init_q31.c
10 * Description: Radix-4 Decimation in Frequency Q31 FFT & IFFT initialization function
12 * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
14 * Version 1.0.10 2011/7/15
15 * Big Endian support added and Merged M0 and M3/M4 Source code.
17 * Version 1.0.3 2010/11/29
18 * Re-organized the CMSIS folders and updated documentation.
20 * Version 1.0.2 2010/11/11
21 * Documentation updated.
23 * Version 1.0.1 2010/10/05
24 * Production release and review comments incorporated.
26 * Version 1.0.0 2010/09/20
27 * Production release and review comments incorporated.
29 * Version 0.0.5 2010/04/26
30 * incorporated review comments and updated with latest CMSIS layer
32 * Version 0.0.3 2010/03/10
34 * -------------------------------------------------------------------- */
37 #include "arm_common_tables.h"
40 * @ingroup groupTransforms
44 * @addtogroup CFFT_CIFFT
49 * @brief Twiddle factors Table
54 * Example code for Q31 Twiddle factors Generation::
56 * <pre>for(i = 0; i< N; i++)
58 * twiddleCoefQ31[2*i]= cos(i * 2*PI/(float)N);
59 * twiddleCoefQ31[2*i+1]= sin(i * 2*PI/(float)N);
62 * where N = 1024 and PI = 3.14159265358979
64 * Cos and Sin values are interleaved fashion
66 * Convert Floating point to Q31(Fixed point 1.31):
67 * round(twiddleCoefQ31(i) * pow(2, 31))
71 static const q31_t twiddleCoefQ31[2048] = {
72 0x7fffffff, 0x0, 0x7fff6216, 0xc90f88, 0x7ffd885a, 0x1921d20, 0x7ffa72d1,
74 0x7ff62182, 0x3242abf, 0x7ff09478, 0x3ed26e6, 0x7fe9cbc0, 0x4b6195d,
75 0x7fe1c76b, 0x57f0035,
76 0x7fd8878e, 0x647d97c, 0x7fce0c3e, 0x710a345, 0x7fc25596, 0x7d95b9e,
77 0x7fb563b3, 0x8a2009a,
78 0x7fa736b4, 0x96a9049, 0x7f97cebd, 0xa3308bd, 0x7f872bf3, 0xafb6805,
79 0x7f754e80, 0xbc3ac35,
80 0x7f62368f, 0xc8bd35e, 0x7f4de451, 0xd53db92, 0x7f3857f6, 0xe1bc2e4,
81 0x7f2191b4, 0xee38766,
82 0x7f0991c4, 0xfab272b, 0x7ef05860, 0x1072a048, 0x7ed5e5c6, 0x1139f0cf,
83 0x7eba3a39, 0x120116d5,
84 0x7e9d55fc, 0x12c8106f, 0x7e7f3957, 0x138edbb1, 0x7e5fe493, 0x145576b1,
85 0x7e3f57ff, 0x151bdf86,
86 0x7e1d93ea, 0x15e21445, 0x7dfa98a8, 0x16a81305, 0x7dd6668f, 0x176dd9de,
87 0x7db0fdf8, 0x183366e9,
88 0x7d8a5f40, 0x18f8b83c, 0x7d628ac6, 0x19bdcbf3, 0x7d3980ec, 0x1a82a026,
89 0x7d0f4218, 0x1b4732ef,
90 0x7ce3ceb2, 0x1c0b826a, 0x7cb72724, 0x1ccf8cb3, 0x7c894bde, 0x1d934fe5,
91 0x7c5a3d50, 0x1e56ca1e,
92 0x7c29fbee, 0x1f19f97b, 0x7bf88830, 0x1fdcdc1b, 0x7bc5e290, 0x209f701c,
93 0x7b920b89, 0x2161b3a0,
94 0x7b5d039e, 0x2223a4c5, 0x7b26cb4f, 0x22e541af, 0x7aef6323, 0x23a6887f,
95 0x7ab6cba4, 0x24677758,
96 0x7a7d055b, 0x25280c5e, 0x7a4210d8, 0x25e845b6, 0x7a05eead, 0x26a82186,
97 0x79c89f6e, 0x27679df4,
98 0x798a23b1, 0x2826b928, 0x794a7c12, 0x28e5714b, 0x7909a92d, 0x29a3c485,
99 0x78c7aba2, 0x2a61b101,
100 0x78848414, 0x2b1f34eb, 0x78403329, 0x2bdc4e6f, 0x77fab989, 0x2c98fbba,
101 0x77b417df, 0x2d553afc,
102 0x776c4edb, 0x2e110a62, 0x77235f2d, 0x2ecc681e, 0x76d94989, 0x2f875262,
103 0x768e0ea6, 0x3041c761,
104 0x7641af3d, 0x30fbc54d, 0x75f42c0b, 0x31b54a5e, 0x75a585cf, 0x326e54c7,
105 0x7555bd4c, 0x3326e2c3,
106 0x7504d345, 0x33def287, 0x74b2c884, 0x34968250, 0x745f9dd1, 0x354d9057,
107 0x740b53fb, 0x36041ad9,
108 0x73b5ebd1, 0x36ba2014, 0x735f6626, 0x376f9e46, 0x7307c3d0, 0x382493b0,
109 0x72af05a7, 0x38d8fe93,
110 0x72552c85, 0x398cdd32, 0x71fa3949, 0x3a402dd2, 0x719e2cd2, 0x3af2eeb7,
111 0x71410805, 0x3ba51e29,
112 0x70e2cbc6, 0x3c56ba70, 0x708378ff, 0x3d07c1d6, 0x7023109a, 0x3db832a6,
113 0x6fc19385, 0x3e680b2c,
114 0x6f5f02b2, 0x3f1749b8, 0x6efb5f12, 0x3fc5ec98, 0x6e96a99d, 0x4073f21d,
115 0x6e30e34a, 0x4121589b,
116 0x6dca0d14, 0x41ce1e65, 0x6d6227fa, 0x427a41d0, 0x6cf934fc, 0x4325c135,
117 0x6c8f351c, 0x43d09aed,
118 0x6c242960, 0x447acd50, 0x6bb812d1, 0x452456bd, 0x6b4af279, 0x45cd358f,
119 0x6adcc964, 0x46756828,
120 0x6a6d98a4, 0x471cece7, 0x69fd614a, 0x47c3c22f, 0x698c246c, 0x4869e665,
121 0x6919e320, 0x490f57ee,
122 0x68a69e81, 0x49b41533, 0x683257ab, 0x4a581c9e, 0x67bd0fbd, 0x4afb6c98,
123 0x6746c7d8, 0x4b9e0390,
124 0x66cf8120, 0x4c3fdff4, 0x66573cbb, 0x4ce10034, 0x65ddfbd3, 0x4d8162c4,
125 0x6563bf92, 0x4e210617,
126 0x64e88926, 0x4ebfe8a5, 0x646c59bf, 0x4f5e08e3, 0x63ef3290, 0x4ffb654d,
127 0x637114cc, 0x5097fc5e,
128 0x62f201ac, 0x5133cc94, 0x6271fa69, 0x51ced46e, 0x61f1003f, 0x5269126e,
129 0x616f146c, 0x53028518,
130 0x60ec3830, 0x539b2af0, 0x60686ccf, 0x5433027d, 0x5fe3b38d, 0x54ca0a4b,
131 0x5f5e0db3, 0x556040e2,
132 0x5ed77c8a, 0x55f5a4d2, 0x5e50015d, 0x568a34a9, 0x5dc79d7c, 0x571deefa,
133 0x5d3e5237, 0x57b0d256,
134 0x5cb420e0, 0x5842dd54, 0x5c290acc, 0x58d40e8c, 0x5b9d1154, 0x59646498,
135 0x5b1035cf, 0x59f3de12,
136 0x5a82799a, 0x5a82799a, 0x59f3de12, 0x5b1035cf, 0x59646498, 0x5b9d1154,
137 0x58d40e8c, 0x5c290acc,
138 0x5842dd54, 0x5cb420e0, 0x57b0d256, 0x5d3e5237, 0x571deefa, 0x5dc79d7c,
139 0x568a34a9, 0x5e50015d,
140 0x55f5a4d2, 0x5ed77c8a, 0x556040e2, 0x5f5e0db3, 0x54ca0a4b, 0x5fe3b38d,
141 0x5433027d, 0x60686ccf,
142 0x539b2af0, 0x60ec3830, 0x53028518, 0x616f146c, 0x5269126e, 0x61f1003f,
143 0x51ced46e, 0x6271fa69,
144 0x5133cc94, 0x62f201ac, 0x5097fc5e, 0x637114cc, 0x4ffb654d, 0x63ef3290,
145 0x4f5e08e3, 0x646c59bf,
146 0x4ebfe8a5, 0x64e88926, 0x4e210617, 0x6563bf92, 0x4d8162c4, 0x65ddfbd3,
147 0x4ce10034, 0x66573cbb,
148 0x4c3fdff4, 0x66cf8120, 0x4b9e0390, 0x6746c7d8, 0x4afb6c98, 0x67bd0fbd,
149 0x4a581c9e, 0x683257ab,
150 0x49b41533, 0x68a69e81, 0x490f57ee, 0x6919e320, 0x4869e665, 0x698c246c,
151 0x47c3c22f, 0x69fd614a,
152 0x471cece7, 0x6a6d98a4, 0x46756828, 0x6adcc964, 0x45cd358f, 0x6b4af279,
153 0x452456bd, 0x6bb812d1,
154 0x447acd50, 0x6c242960, 0x43d09aed, 0x6c8f351c, 0x4325c135, 0x6cf934fc,
155 0x427a41d0, 0x6d6227fa,
156 0x41ce1e65, 0x6dca0d14, 0x4121589b, 0x6e30e34a, 0x4073f21d, 0x6e96a99d,
157 0x3fc5ec98, 0x6efb5f12,
158 0x3f1749b8, 0x6f5f02b2, 0x3e680b2c, 0x6fc19385, 0x3db832a6, 0x7023109a,
159 0x3d07c1d6, 0x708378ff,
160 0x3c56ba70, 0x70e2cbc6, 0x3ba51e29, 0x71410805, 0x3af2eeb7, 0x719e2cd2,
161 0x3a402dd2, 0x71fa3949,
162 0x398cdd32, 0x72552c85, 0x38d8fe93, 0x72af05a7, 0x382493b0, 0x7307c3d0,
163 0x376f9e46, 0x735f6626,
164 0x36ba2014, 0x73b5ebd1, 0x36041ad9, 0x740b53fb, 0x354d9057, 0x745f9dd1,
165 0x34968250, 0x74b2c884,
166 0x33def287, 0x7504d345, 0x3326e2c3, 0x7555bd4c, 0x326e54c7, 0x75a585cf,
167 0x31b54a5e, 0x75f42c0b,
168 0x30fbc54d, 0x7641af3d, 0x3041c761, 0x768e0ea6, 0x2f875262, 0x76d94989,
169 0x2ecc681e, 0x77235f2d,
170 0x2e110a62, 0x776c4edb, 0x2d553afc, 0x77b417df, 0x2c98fbba, 0x77fab989,
171 0x2bdc4e6f, 0x78403329,
172 0x2b1f34eb, 0x78848414, 0x2a61b101, 0x78c7aba2, 0x29a3c485, 0x7909a92d,
173 0x28e5714b, 0x794a7c12,
174 0x2826b928, 0x798a23b1, 0x27679df4, 0x79c89f6e, 0x26a82186, 0x7a05eead,
175 0x25e845b6, 0x7a4210d8,
176 0x25280c5e, 0x7a7d055b, 0x24677758, 0x7ab6cba4, 0x23a6887f, 0x7aef6323,
177 0x22e541af, 0x7b26cb4f,
178 0x2223a4c5, 0x7b5d039e, 0x2161b3a0, 0x7b920b89, 0x209f701c, 0x7bc5e290,
179 0x1fdcdc1b, 0x7bf88830,
180 0x1f19f97b, 0x7c29fbee, 0x1e56ca1e, 0x7c5a3d50, 0x1d934fe5, 0x7c894bde,
181 0x1ccf8cb3, 0x7cb72724,
182 0x1c0b826a, 0x7ce3ceb2, 0x1b4732ef, 0x7d0f4218, 0x1a82a026, 0x7d3980ec,
183 0x19bdcbf3, 0x7d628ac6,
184 0x18f8b83c, 0x7d8a5f40, 0x183366e9, 0x7db0fdf8, 0x176dd9de, 0x7dd6668f,
185 0x16a81305, 0x7dfa98a8,
186 0x15e21445, 0x7e1d93ea, 0x151bdf86, 0x7e3f57ff, 0x145576b1, 0x7e5fe493,
187 0x138edbb1, 0x7e7f3957,
188 0x12c8106f, 0x7e9d55fc, 0x120116d5, 0x7eba3a39, 0x1139f0cf, 0x7ed5e5c6,
189 0x1072a048, 0x7ef05860,
190 0xfab272b, 0x7f0991c4, 0xee38766, 0x7f2191b4, 0xe1bc2e4, 0x7f3857f6,
191 0xd53db92, 0x7f4de451,
192 0xc8bd35e, 0x7f62368f, 0xbc3ac35, 0x7f754e80, 0xafb6805, 0x7f872bf3,
193 0xa3308bd, 0x7f97cebd,
194 0x96a9049, 0x7fa736b4, 0x8a2009a, 0x7fb563b3, 0x7d95b9e, 0x7fc25596,
195 0x710a345, 0x7fce0c3e,
196 0x647d97c, 0x7fd8878e, 0x57f0035, 0x7fe1c76b, 0x4b6195d, 0x7fe9cbc0,
197 0x3ed26e6, 0x7ff09478,
198 0x3242abf, 0x7ff62182, 0x25b26d7, 0x7ffa72d1, 0x1921d20, 0x7ffd885a,
199 0xc90f88, 0x7fff6216,
200 0x0, 0x7fffffff, 0xff36f078, 0x7fff6216, 0xfe6de2e0, 0x7ffd885a, 0xfda4d929,
202 0xfcdbd541, 0x7ff62182, 0xfc12d91a, 0x7ff09478, 0xfb49e6a3, 0x7fe9cbc0,
203 0xfa80ffcb, 0x7fe1c76b,
204 0xf9b82684, 0x7fd8878e, 0xf8ef5cbb, 0x7fce0c3e, 0xf826a462, 0x7fc25596,
205 0xf75dff66, 0x7fb563b3,
206 0xf6956fb7, 0x7fa736b4, 0xf5ccf743, 0x7f97cebd, 0xf50497fb, 0x7f872bf3,
207 0xf43c53cb, 0x7f754e80,
208 0xf3742ca2, 0x7f62368f, 0xf2ac246e, 0x7f4de451, 0xf1e43d1c, 0x7f3857f6,
209 0xf11c789a, 0x7f2191b4,
210 0xf054d8d5, 0x7f0991c4, 0xef8d5fb8, 0x7ef05860, 0xeec60f31, 0x7ed5e5c6,
211 0xedfee92b, 0x7eba3a39,
212 0xed37ef91, 0x7e9d55fc, 0xec71244f, 0x7e7f3957, 0xebaa894f, 0x7e5fe493,
213 0xeae4207a, 0x7e3f57ff,
214 0xea1debbb, 0x7e1d93ea, 0xe957ecfb, 0x7dfa98a8, 0xe8922622, 0x7dd6668f,
215 0xe7cc9917, 0x7db0fdf8,
216 0xe70747c4, 0x7d8a5f40, 0xe642340d, 0x7d628ac6, 0xe57d5fda, 0x7d3980ec,
217 0xe4b8cd11, 0x7d0f4218,
218 0xe3f47d96, 0x7ce3ceb2, 0xe330734d, 0x7cb72724, 0xe26cb01b, 0x7c894bde,
219 0xe1a935e2, 0x7c5a3d50,
220 0xe0e60685, 0x7c29fbee, 0xe02323e5, 0x7bf88830, 0xdf608fe4, 0x7bc5e290,
221 0xde9e4c60, 0x7b920b89,
222 0xdddc5b3b, 0x7b5d039e, 0xdd1abe51, 0x7b26cb4f, 0xdc597781, 0x7aef6323,
223 0xdb9888a8, 0x7ab6cba4,
224 0xdad7f3a2, 0x7a7d055b, 0xda17ba4a, 0x7a4210d8, 0xd957de7a, 0x7a05eead,
225 0xd898620c, 0x79c89f6e,
226 0xd7d946d8, 0x798a23b1, 0xd71a8eb5, 0x794a7c12, 0xd65c3b7b, 0x7909a92d,
227 0xd59e4eff, 0x78c7aba2,
228 0xd4e0cb15, 0x78848414, 0xd423b191, 0x78403329, 0xd3670446, 0x77fab989,
229 0xd2aac504, 0x77b417df,
230 0xd1eef59e, 0x776c4edb, 0xd13397e2, 0x77235f2d, 0xd078ad9e, 0x76d94989,
231 0xcfbe389f, 0x768e0ea6,
232 0xcf043ab3, 0x7641af3d, 0xce4ab5a2, 0x75f42c0b, 0xcd91ab39, 0x75a585cf,
233 0xccd91d3d, 0x7555bd4c,
234 0xcc210d79, 0x7504d345, 0xcb697db0, 0x74b2c884, 0xcab26fa9, 0x745f9dd1,
235 0xc9fbe527, 0x740b53fb,
236 0xc945dfec, 0x73b5ebd1, 0xc89061ba, 0x735f6626, 0xc7db6c50, 0x7307c3d0,
237 0xc727016d, 0x72af05a7,
238 0xc67322ce, 0x72552c85, 0xc5bfd22e, 0x71fa3949, 0xc50d1149, 0x719e2cd2,
239 0xc45ae1d7, 0x71410805,
240 0xc3a94590, 0x70e2cbc6, 0xc2f83e2a, 0x708378ff, 0xc247cd5a, 0x7023109a,
241 0xc197f4d4, 0x6fc19385,
242 0xc0e8b648, 0x6f5f02b2, 0xc03a1368, 0x6efb5f12, 0xbf8c0de3, 0x6e96a99d,
243 0xbedea765, 0x6e30e34a,
244 0xbe31e19b, 0x6dca0d14, 0xbd85be30, 0x6d6227fa, 0xbcda3ecb, 0x6cf934fc,
245 0xbc2f6513, 0x6c8f351c,
246 0xbb8532b0, 0x6c242960, 0xbadba943, 0x6bb812d1, 0xba32ca71, 0x6b4af279,
247 0xb98a97d8, 0x6adcc964,
248 0xb8e31319, 0x6a6d98a4, 0xb83c3dd1, 0x69fd614a, 0xb796199b, 0x698c246c,
249 0xb6f0a812, 0x6919e320,
250 0xb64beacd, 0x68a69e81, 0xb5a7e362, 0x683257ab, 0xb5049368, 0x67bd0fbd,
251 0xb461fc70, 0x6746c7d8,
252 0xb3c0200c, 0x66cf8120, 0xb31effcc, 0x66573cbb, 0xb27e9d3c, 0x65ddfbd3,
253 0xb1def9e9, 0x6563bf92,
254 0xb140175b, 0x64e88926, 0xb0a1f71d, 0x646c59bf, 0xb0049ab3, 0x63ef3290,
255 0xaf6803a2, 0x637114cc,
256 0xaecc336c, 0x62f201ac, 0xae312b92, 0x6271fa69, 0xad96ed92, 0x61f1003f,
257 0xacfd7ae8, 0x616f146c,
258 0xac64d510, 0x60ec3830, 0xabccfd83, 0x60686ccf, 0xab35f5b5, 0x5fe3b38d,
259 0xaa9fbf1e, 0x5f5e0db3,
260 0xaa0a5b2e, 0x5ed77c8a, 0xa975cb57, 0x5e50015d, 0xa8e21106, 0x5dc79d7c,
261 0xa84f2daa, 0x5d3e5237,
262 0xa7bd22ac, 0x5cb420e0, 0xa72bf174, 0x5c290acc, 0xa69b9b68, 0x5b9d1154,
263 0xa60c21ee, 0x5b1035cf,
264 0xa57d8666, 0x5a82799a, 0xa4efca31, 0x59f3de12, 0xa462eeac, 0x59646498,
265 0xa3d6f534, 0x58d40e8c,
266 0xa34bdf20, 0x5842dd54, 0xa2c1adc9, 0x57b0d256, 0xa2386284, 0x571deefa,
267 0xa1affea3, 0x568a34a9,
268 0xa1288376, 0x55f5a4d2, 0xa0a1f24d, 0x556040e2, 0xa01c4c73, 0x54ca0a4b,
269 0x9f979331, 0x5433027d,
270 0x9f13c7d0, 0x539b2af0, 0x9e90eb94, 0x53028518, 0x9e0effc1, 0x5269126e,
271 0x9d8e0597, 0x51ced46e,
272 0x9d0dfe54, 0x5133cc94, 0x9c8eeb34, 0x5097fc5e, 0x9c10cd70, 0x4ffb654d,
273 0x9b93a641, 0x4f5e08e3,
274 0x9b1776da, 0x4ebfe8a5, 0x9a9c406e, 0x4e210617, 0x9a22042d, 0x4d8162c4,
275 0x99a8c345, 0x4ce10034,
276 0x99307ee0, 0x4c3fdff4, 0x98b93828, 0x4b9e0390, 0x9842f043, 0x4afb6c98,
277 0x97cda855, 0x4a581c9e,
278 0x9759617f, 0x49b41533, 0x96e61ce0, 0x490f57ee, 0x9673db94, 0x4869e665,
279 0x96029eb6, 0x47c3c22f,
280 0x9592675c, 0x471cece7, 0x9523369c, 0x46756828, 0x94b50d87, 0x45cd358f,
281 0x9447ed2f, 0x452456bd,
282 0x93dbd6a0, 0x447acd50, 0x9370cae4, 0x43d09aed, 0x9306cb04, 0x4325c135,
283 0x929dd806, 0x427a41d0,
284 0x9235f2ec, 0x41ce1e65, 0x91cf1cb6, 0x4121589b, 0x91695663, 0x4073f21d,
285 0x9104a0ee, 0x3fc5ec98,
286 0x90a0fd4e, 0x3f1749b8, 0x903e6c7b, 0x3e680b2c, 0x8fdcef66, 0x3db832a6,
287 0x8f7c8701, 0x3d07c1d6,
288 0x8f1d343a, 0x3c56ba70, 0x8ebef7fb, 0x3ba51e29, 0x8e61d32e, 0x3af2eeb7,
289 0x8e05c6b7, 0x3a402dd2,
290 0x8daad37b, 0x398cdd32, 0x8d50fa59, 0x38d8fe93, 0x8cf83c30, 0x382493b0,
291 0x8ca099da, 0x376f9e46,
292 0x8c4a142f, 0x36ba2014, 0x8bf4ac05, 0x36041ad9, 0x8ba0622f, 0x354d9057,
293 0x8b4d377c, 0x34968250,
294 0x8afb2cbb, 0x33def287, 0x8aaa42b4, 0x3326e2c3, 0x8a5a7a31, 0x326e54c7,
295 0x8a0bd3f5, 0x31b54a5e,
296 0x89be50c3, 0x30fbc54d, 0x8971f15a, 0x3041c761, 0x8926b677, 0x2f875262,
297 0x88dca0d3, 0x2ecc681e,
298 0x8893b125, 0x2e110a62, 0x884be821, 0x2d553afc, 0x88054677, 0x2c98fbba,
299 0x87bfccd7, 0x2bdc4e6f,
300 0x877b7bec, 0x2b1f34eb, 0x8738545e, 0x2a61b101, 0x86f656d3, 0x29a3c485,
301 0x86b583ee, 0x28e5714b,
302 0x8675dc4f, 0x2826b928, 0x86376092, 0x27679df4, 0x85fa1153, 0x26a82186,
303 0x85bdef28, 0x25e845b6,
304 0x8582faa5, 0x25280c5e, 0x8549345c, 0x24677758, 0x85109cdd, 0x23a6887f,
305 0x84d934b1, 0x22e541af,
306 0x84a2fc62, 0x2223a4c5, 0x846df477, 0x2161b3a0, 0x843a1d70, 0x209f701c,
307 0x840777d0, 0x1fdcdc1b,
308 0x83d60412, 0x1f19f97b, 0x83a5c2b0, 0x1e56ca1e, 0x8376b422, 0x1d934fe5,
309 0x8348d8dc, 0x1ccf8cb3,
310 0x831c314e, 0x1c0b826a, 0x82f0bde8, 0x1b4732ef, 0x82c67f14, 0x1a82a026,
311 0x829d753a, 0x19bdcbf3,
312 0x8275a0c0, 0x18f8b83c, 0x824f0208, 0x183366e9, 0x82299971, 0x176dd9de,
313 0x82056758, 0x16a81305,
314 0x81e26c16, 0x15e21445, 0x81c0a801, 0x151bdf86, 0x81a01b6d, 0x145576b1,
315 0x8180c6a9, 0x138edbb1,
316 0x8162aa04, 0x12c8106f, 0x8145c5c7, 0x120116d5, 0x812a1a3a, 0x1139f0cf,
317 0x810fa7a0, 0x1072a048,
318 0x80f66e3c, 0xfab272b, 0x80de6e4c, 0xee38766, 0x80c7a80a, 0xe1bc2e4,
319 0x80b21baf, 0xd53db92,
320 0x809dc971, 0xc8bd35e, 0x808ab180, 0xbc3ac35, 0x8078d40d, 0xafb6805,
321 0x80683143, 0xa3308bd,
322 0x8058c94c, 0x96a9049, 0x804a9c4d, 0x8a2009a, 0x803daa6a, 0x7d95b9e,
323 0x8031f3c2, 0x710a345,
324 0x80277872, 0x647d97c, 0x801e3895, 0x57f0035, 0x80163440, 0x4b6195d,
325 0x800f6b88, 0x3ed26e6,
326 0x8009de7e, 0x3242abf, 0x80058d2f, 0x25b26d7, 0x800277a6, 0x1921d20,
327 0x80009dea, 0xc90f88,
328 0x80000000, 0x0, 0x80009dea, 0xff36f078, 0x800277a6, 0xfe6de2e0, 0x80058d2f,
330 0x8009de7e, 0xfcdbd541, 0x800f6b88, 0xfc12d91a, 0x80163440, 0xfb49e6a3,
331 0x801e3895, 0xfa80ffcb,
332 0x80277872, 0xf9b82684, 0x8031f3c2, 0xf8ef5cbb, 0x803daa6a, 0xf826a462,
333 0x804a9c4d, 0xf75dff66,
334 0x8058c94c, 0xf6956fb7, 0x80683143, 0xf5ccf743, 0x8078d40d, 0xf50497fb,
335 0x808ab180, 0xf43c53cb,
336 0x809dc971, 0xf3742ca2, 0x80b21baf, 0xf2ac246e, 0x80c7a80a, 0xf1e43d1c,
337 0x80de6e4c, 0xf11c789a,
338 0x80f66e3c, 0xf054d8d5, 0x810fa7a0, 0xef8d5fb8, 0x812a1a3a, 0xeec60f31,
339 0x8145c5c7, 0xedfee92b,
340 0x8162aa04, 0xed37ef91, 0x8180c6a9, 0xec71244f, 0x81a01b6d, 0xebaa894f,
341 0x81c0a801, 0xeae4207a,
342 0x81e26c16, 0xea1debbb, 0x82056758, 0xe957ecfb, 0x82299971, 0xe8922622,
343 0x824f0208, 0xe7cc9917,
344 0x8275a0c0, 0xe70747c4, 0x829d753a, 0xe642340d, 0x82c67f14, 0xe57d5fda,
345 0x82f0bde8, 0xe4b8cd11,
346 0x831c314e, 0xe3f47d96, 0x8348d8dc, 0xe330734d, 0x8376b422, 0xe26cb01b,
347 0x83a5c2b0, 0xe1a935e2,
348 0x83d60412, 0xe0e60685, 0x840777d0, 0xe02323e5, 0x843a1d70, 0xdf608fe4,
349 0x846df477, 0xde9e4c60,
350 0x84a2fc62, 0xdddc5b3b, 0x84d934b1, 0xdd1abe51, 0x85109cdd, 0xdc597781,
351 0x8549345c, 0xdb9888a8,
352 0x8582faa5, 0xdad7f3a2, 0x85bdef28, 0xda17ba4a, 0x85fa1153, 0xd957de7a,
353 0x86376092, 0xd898620c,
354 0x8675dc4f, 0xd7d946d8, 0x86b583ee, 0xd71a8eb5, 0x86f656d3, 0xd65c3b7b,
355 0x8738545e, 0xd59e4eff,
356 0x877b7bec, 0xd4e0cb15, 0x87bfccd7, 0xd423b191, 0x88054677, 0xd3670446,
357 0x884be821, 0xd2aac504,
358 0x8893b125, 0xd1eef59e, 0x88dca0d3, 0xd13397e2, 0x8926b677, 0xd078ad9e,
359 0x8971f15a, 0xcfbe389f,
360 0x89be50c3, 0xcf043ab3, 0x8a0bd3f5, 0xce4ab5a2, 0x8a5a7a31, 0xcd91ab39,
361 0x8aaa42b4, 0xccd91d3d,
362 0x8afb2cbb, 0xcc210d79, 0x8b4d377c, 0xcb697db0, 0x8ba0622f, 0xcab26fa9,
363 0x8bf4ac05, 0xc9fbe527,
364 0x8c4a142f, 0xc945dfec, 0x8ca099da, 0xc89061ba, 0x8cf83c30, 0xc7db6c50,
365 0x8d50fa59, 0xc727016d,
366 0x8daad37b, 0xc67322ce, 0x8e05c6b7, 0xc5bfd22e, 0x8e61d32e, 0xc50d1149,
367 0x8ebef7fb, 0xc45ae1d7,
368 0x8f1d343a, 0xc3a94590, 0x8f7c8701, 0xc2f83e2a, 0x8fdcef66, 0xc247cd5a,
369 0x903e6c7b, 0xc197f4d4,
370 0x90a0fd4e, 0xc0e8b648, 0x9104a0ee, 0xc03a1368, 0x91695663, 0xbf8c0de3,
371 0x91cf1cb6, 0xbedea765,
372 0x9235f2ec, 0xbe31e19b, 0x929dd806, 0xbd85be30, 0x9306cb04, 0xbcda3ecb,
373 0x9370cae4, 0xbc2f6513,
374 0x93dbd6a0, 0xbb8532b0, 0x9447ed2f, 0xbadba943, 0x94b50d87, 0xba32ca71,
375 0x9523369c, 0xb98a97d8,
376 0x9592675c, 0xb8e31319, 0x96029eb6, 0xb83c3dd1, 0x9673db94, 0xb796199b,
377 0x96e61ce0, 0xb6f0a812,
378 0x9759617f, 0xb64beacd, 0x97cda855, 0xb5a7e362, 0x9842f043, 0xb5049368,
379 0x98b93828, 0xb461fc70,
380 0x99307ee0, 0xb3c0200c, 0x99a8c345, 0xb31effcc, 0x9a22042d, 0xb27e9d3c,
381 0x9a9c406e, 0xb1def9e9,
382 0x9b1776da, 0xb140175b, 0x9b93a641, 0xb0a1f71d, 0x9c10cd70, 0xb0049ab3,
383 0x9c8eeb34, 0xaf6803a2,
384 0x9d0dfe54, 0xaecc336c, 0x9d8e0597, 0xae312b92, 0x9e0effc1, 0xad96ed92,
385 0x9e90eb94, 0xacfd7ae8,
386 0x9f13c7d0, 0xac64d510, 0x9f979331, 0xabccfd83, 0xa01c4c73, 0xab35f5b5,
387 0xa0a1f24d, 0xaa9fbf1e,
388 0xa1288376, 0xaa0a5b2e, 0xa1affea3, 0xa975cb57, 0xa2386284, 0xa8e21106,
389 0xa2c1adc9, 0xa84f2daa,
390 0xa34bdf20, 0xa7bd22ac, 0xa3d6f534, 0xa72bf174, 0xa462eeac, 0xa69b9b68,
391 0xa4efca31, 0xa60c21ee,
392 0xa57d8666, 0xa57d8666, 0xa60c21ee, 0xa4efca31, 0xa69b9b68, 0xa462eeac,
393 0xa72bf174, 0xa3d6f534,
394 0xa7bd22ac, 0xa34bdf20, 0xa84f2daa, 0xa2c1adc9, 0xa8e21106, 0xa2386284,
395 0xa975cb57, 0xa1affea3,
396 0xaa0a5b2e, 0xa1288376, 0xaa9fbf1e, 0xa0a1f24d, 0xab35f5b5, 0xa01c4c73,
397 0xabccfd83, 0x9f979331,
398 0xac64d510, 0x9f13c7d0, 0xacfd7ae8, 0x9e90eb94, 0xad96ed92, 0x9e0effc1,
399 0xae312b92, 0x9d8e0597,
400 0xaecc336c, 0x9d0dfe54, 0xaf6803a2, 0x9c8eeb34, 0xb0049ab3, 0x9c10cd70,
401 0xb0a1f71d, 0x9b93a641,
402 0xb140175b, 0x9b1776da, 0xb1def9e9, 0x9a9c406e, 0xb27e9d3c, 0x9a22042d,
403 0xb31effcc, 0x99a8c345,
404 0xb3c0200c, 0x99307ee0, 0xb461fc70, 0x98b93828, 0xb5049368, 0x9842f043,
405 0xb5a7e362, 0x97cda855,
406 0xb64beacd, 0x9759617f, 0xb6f0a812, 0x96e61ce0, 0xb796199b, 0x9673db94,
407 0xb83c3dd1, 0x96029eb6,
408 0xb8e31319, 0x9592675c, 0xb98a97d8, 0x9523369c, 0xba32ca71, 0x94b50d87,
409 0xbadba943, 0x9447ed2f,
410 0xbb8532b0, 0x93dbd6a0, 0xbc2f6513, 0x9370cae4, 0xbcda3ecb, 0x9306cb04,
411 0xbd85be30, 0x929dd806,
412 0xbe31e19b, 0x9235f2ec, 0xbedea765, 0x91cf1cb6, 0xbf8c0de3, 0x91695663,
413 0xc03a1368, 0x9104a0ee,
414 0xc0e8b648, 0x90a0fd4e, 0xc197f4d4, 0x903e6c7b, 0xc247cd5a, 0x8fdcef66,
415 0xc2f83e2a, 0x8f7c8701,
416 0xc3a94590, 0x8f1d343a, 0xc45ae1d7, 0x8ebef7fb, 0xc50d1149, 0x8e61d32e,
417 0xc5bfd22e, 0x8e05c6b7,
418 0xc67322ce, 0x8daad37b, 0xc727016d, 0x8d50fa59, 0xc7db6c50, 0x8cf83c30,
419 0xc89061ba, 0x8ca099da,
420 0xc945dfec, 0x8c4a142f, 0xc9fbe527, 0x8bf4ac05, 0xcab26fa9, 0x8ba0622f,
421 0xcb697db0, 0x8b4d377c,
422 0xcc210d79, 0x8afb2cbb, 0xccd91d3d, 0x8aaa42b4, 0xcd91ab39, 0x8a5a7a31,
423 0xce4ab5a2, 0x8a0bd3f5,
424 0xcf043ab3, 0x89be50c3, 0xcfbe389f, 0x8971f15a, 0xd078ad9e, 0x8926b677,
425 0xd13397e2, 0x88dca0d3,
426 0xd1eef59e, 0x8893b125, 0xd2aac504, 0x884be821, 0xd3670446, 0x88054677,
427 0xd423b191, 0x87bfccd7,
428 0xd4e0cb15, 0x877b7bec, 0xd59e4eff, 0x8738545e, 0xd65c3b7b, 0x86f656d3,
429 0xd71a8eb5, 0x86b583ee,
430 0xd7d946d8, 0x8675dc4f, 0xd898620c, 0x86376092, 0xd957de7a, 0x85fa1153,
431 0xda17ba4a, 0x85bdef28,
432 0xdad7f3a2, 0x8582faa5, 0xdb9888a8, 0x8549345c, 0xdc597781, 0x85109cdd,
433 0xdd1abe51, 0x84d934b1,
434 0xdddc5b3b, 0x84a2fc62, 0xde9e4c60, 0x846df477, 0xdf608fe4, 0x843a1d70,
435 0xe02323e5, 0x840777d0,
436 0xe0e60685, 0x83d60412, 0xe1a935e2, 0x83a5c2b0, 0xe26cb01b, 0x8376b422,
437 0xe330734d, 0x8348d8dc,
438 0xe3f47d96, 0x831c314e, 0xe4b8cd11, 0x82f0bde8, 0xe57d5fda, 0x82c67f14,
439 0xe642340d, 0x829d753a,
440 0xe70747c4, 0x8275a0c0, 0xe7cc9917, 0x824f0208, 0xe8922622, 0x82299971,
441 0xe957ecfb, 0x82056758,
442 0xea1debbb, 0x81e26c16, 0xeae4207a, 0x81c0a801, 0xebaa894f, 0x81a01b6d,
443 0xec71244f, 0x8180c6a9,
444 0xed37ef91, 0x8162aa04, 0xedfee92b, 0x8145c5c7, 0xeec60f31, 0x812a1a3a,
445 0xef8d5fb8, 0x810fa7a0,
446 0xf054d8d5, 0x80f66e3c, 0xf11c789a, 0x80de6e4c, 0xf1e43d1c, 0x80c7a80a,
447 0xf2ac246e, 0x80b21baf,
448 0xf3742ca2, 0x809dc971, 0xf43c53cb, 0x808ab180, 0xf50497fb, 0x8078d40d,
449 0xf5ccf743, 0x80683143,
450 0xf6956fb7, 0x8058c94c, 0xf75dff66, 0x804a9c4d, 0xf826a462, 0x803daa6a,
451 0xf8ef5cbb, 0x8031f3c2,
452 0xf9b82684, 0x80277872, 0xfa80ffcb, 0x801e3895, 0xfb49e6a3, 0x80163440,
453 0xfc12d91a, 0x800f6b88,
454 0xfcdbd541, 0x8009de7e, 0xfda4d929, 0x80058d2f, 0xfe6de2e0, 0x800277a6,
455 0xff36f078, 0x80009dea,
456 0x0, 0x80000000, 0xc90f88, 0x80009dea, 0x1921d20, 0x800277a6, 0x25b26d7,
458 0x3242abf, 0x8009de7e, 0x3ed26e6, 0x800f6b88, 0x4b6195d, 0x80163440,
459 0x57f0035, 0x801e3895,
460 0x647d97c, 0x80277872, 0x710a345, 0x8031f3c2, 0x7d95b9e, 0x803daa6a,
461 0x8a2009a, 0x804a9c4d,
462 0x96a9049, 0x8058c94c, 0xa3308bd, 0x80683143, 0xafb6805, 0x8078d40d,
463 0xbc3ac35, 0x808ab180,
464 0xc8bd35e, 0x809dc971, 0xd53db92, 0x80b21baf, 0xe1bc2e4, 0x80c7a80a,
465 0xee38766, 0x80de6e4c,
466 0xfab272b, 0x80f66e3c, 0x1072a048, 0x810fa7a0, 0x1139f0cf, 0x812a1a3a,
467 0x120116d5, 0x8145c5c7,
468 0x12c8106f, 0x8162aa04, 0x138edbb1, 0x8180c6a9, 0x145576b1, 0x81a01b6d,
469 0x151bdf86, 0x81c0a801,
470 0x15e21445, 0x81e26c16, 0x16a81305, 0x82056758, 0x176dd9de, 0x82299971,
471 0x183366e9, 0x824f0208,
472 0x18f8b83c, 0x8275a0c0, 0x19bdcbf3, 0x829d753a, 0x1a82a026, 0x82c67f14,
473 0x1b4732ef, 0x82f0bde8,
474 0x1c0b826a, 0x831c314e, 0x1ccf8cb3, 0x8348d8dc, 0x1d934fe5, 0x8376b422,
475 0x1e56ca1e, 0x83a5c2b0,
476 0x1f19f97b, 0x83d60412, 0x1fdcdc1b, 0x840777d0, 0x209f701c, 0x843a1d70,
477 0x2161b3a0, 0x846df477,
478 0x2223a4c5, 0x84a2fc62, 0x22e541af, 0x84d934b1, 0x23a6887f, 0x85109cdd,
479 0x24677758, 0x8549345c,
480 0x25280c5e, 0x8582faa5, 0x25e845b6, 0x85bdef28, 0x26a82186, 0x85fa1153,
481 0x27679df4, 0x86376092,
482 0x2826b928, 0x8675dc4f, 0x28e5714b, 0x86b583ee, 0x29a3c485, 0x86f656d3,
483 0x2a61b101, 0x8738545e,
484 0x2b1f34eb, 0x877b7bec, 0x2bdc4e6f, 0x87bfccd7, 0x2c98fbba, 0x88054677,
485 0x2d553afc, 0x884be821,
486 0x2e110a62, 0x8893b125, 0x2ecc681e, 0x88dca0d3, 0x2f875262, 0x8926b677,
487 0x3041c761, 0x8971f15a,
488 0x30fbc54d, 0x89be50c3, 0x31b54a5e, 0x8a0bd3f5, 0x326e54c7, 0x8a5a7a31,
489 0x3326e2c3, 0x8aaa42b4,
490 0x33def287, 0x8afb2cbb, 0x34968250, 0x8b4d377c, 0x354d9057, 0x8ba0622f,
491 0x36041ad9, 0x8bf4ac05,
492 0x36ba2014, 0x8c4a142f, 0x376f9e46, 0x8ca099da, 0x382493b0, 0x8cf83c30,
493 0x38d8fe93, 0x8d50fa59,
494 0x398cdd32, 0x8daad37b, 0x3a402dd2, 0x8e05c6b7, 0x3af2eeb7, 0x8e61d32e,
495 0x3ba51e29, 0x8ebef7fb,
496 0x3c56ba70, 0x8f1d343a, 0x3d07c1d6, 0x8f7c8701, 0x3db832a6, 0x8fdcef66,
497 0x3e680b2c, 0x903e6c7b,
498 0x3f1749b8, 0x90a0fd4e, 0x3fc5ec98, 0x9104a0ee, 0x4073f21d, 0x91695663,
499 0x4121589b, 0x91cf1cb6,
500 0x41ce1e65, 0x9235f2ec, 0x427a41d0, 0x929dd806, 0x4325c135, 0x9306cb04,
501 0x43d09aed, 0x9370cae4,
502 0x447acd50, 0x93dbd6a0, 0x452456bd, 0x9447ed2f, 0x45cd358f, 0x94b50d87,
503 0x46756828, 0x9523369c,
504 0x471cece7, 0x9592675c, 0x47c3c22f, 0x96029eb6, 0x4869e665, 0x9673db94,
505 0x490f57ee, 0x96e61ce0,
506 0x49b41533, 0x9759617f, 0x4a581c9e, 0x97cda855, 0x4afb6c98, 0x9842f043,
507 0x4b9e0390, 0x98b93828,
508 0x4c3fdff4, 0x99307ee0, 0x4ce10034, 0x99a8c345, 0x4d8162c4, 0x9a22042d,
509 0x4e210617, 0x9a9c406e,
510 0x4ebfe8a5, 0x9b1776da, 0x4f5e08e3, 0x9b93a641, 0x4ffb654d, 0x9c10cd70,
511 0x5097fc5e, 0x9c8eeb34,
512 0x5133cc94, 0x9d0dfe54, 0x51ced46e, 0x9d8e0597, 0x5269126e, 0x9e0effc1,
513 0x53028518, 0x9e90eb94,
514 0x539b2af0, 0x9f13c7d0, 0x5433027d, 0x9f979331, 0x54ca0a4b, 0xa01c4c73,
515 0x556040e2, 0xa0a1f24d,
516 0x55f5a4d2, 0xa1288376, 0x568a34a9, 0xa1affea3, 0x571deefa, 0xa2386284,
517 0x57b0d256, 0xa2c1adc9,
518 0x5842dd54, 0xa34bdf20, 0x58d40e8c, 0xa3d6f534, 0x59646498, 0xa462eeac,
519 0x59f3de12, 0xa4efca31,
520 0x5a82799a, 0xa57d8666, 0x5b1035cf, 0xa60c21ee, 0x5b9d1154, 0xa69b9b68,
521 0x5c290acc, 0xa72bf174,
522 0x5cb420e0, 0xa7bd22ac, 0x5d3e5237, 0xa84f2daa, 0x5dc79d7c, 0xa8e21106,
523 0x5e50015d, 0xa975cb57,
524 0x5ed77c8a, 0xaa0a5b2e, 0x5f5e0db3, 0xaa9fbf1e, 0x5fe3b38d, 0xab35f5b5,
525 0x60686ccf, 0xabccfd83,
526 0x60ec3830, 0xac64d510, 0x616f146c, 0xacfd7ae8, 0x61f1003f, 0xad96ed92,
527 0x6271fa69, 0xae312b92,
528 0x62f201ac, 0xaecc336c, 0x637114cc, 0xaf6803a2, 0x63ef3290, 0xb0049ab3,
529 0x646c59bf, 0xb0a1f71d,
530 0x64e88926, 0xb140175b, 0x6563bf92, 0xb1def9e9, 0x65ddfbd3, 0xb27e9d3c,
531 0x66573cbb, 0xb31effcc,
532 0x66cf8120, 0xb3c0200c, 0x6746c7d8, 0xb461fc70, 0x67bd0fbd, 0xb5049368,
533 0x683257ab, 0xb5a7e362,
534 0x68a69e81, 0xb64beacd, 0x6919e320, 0xb6f0a812, 0x698c246c, 0xb796199b,
535 0x69fd614a, 0xb83c3dd1,
536 0x6a6d98a4, 0xb8e31319, 0x6adcc964, 0xb98a97d8, 0x6b4af279, 0xba32ca71,
537 0x6bb812d1, 0xbadba943,
538 0x6c242960, 0xbb8532b0, 0x6c8f351c, 0xbc2f6513, 0x6cf934fc, 0xbcda3ecb,
539 0x6d6227fa, 0xbd85be30,
540 0x6dca0d14, 0xbe31e19b, 0x6e30e34a, 0xbedea765, 0x6e96a99d, 0xbf8c0de3,
541 0x6efb5f12, 0xc03a1368,
542 0x6f5f02b2, 0xc0e8b648, 0x6fc19385, 0xc197f4d4, 0x7023109a, 0xc247cd5a,
543 0x708378ff, 0xc2f83e2a,
544 0x70e2cbc6, 0xc3a94590, 0x71410805, 0xc45ae1d7, 0x719e2cd2, 0xc50d1149,
545 0x71fa3949, 0xc5bfd22e,
546 0x72552c85, 0xc67322ce, 0x72af05a7, 0xc727016d, 0x7307c3d0, 0xc7db6c50,
547 0x735f6626, 0xc89061ba,
548 0x73b5ebd1, 0xc945dfec, 0x740b53fb, 0xc9fbe527, 0x745f9dd1, 0xcab26fa9,
549 0x74b2c884, 0xcb697db0,
550 0x7504d345, 0xcc210d79, 0x7555bd4c, 0xccd91d3d, 0x75a585cf, 0xcd91ab39,
551 0x75f42c0b, 0xce4ab5a2,
552 0x7641af3d, 0xcf043ab3, 0x768e0ea6, 0xcfbe389f, 0x76d94989, 0xd078ad9e,
553 0x77235f2d, 0xd13397e2,
554 0x776c4edb, 0xd1eef59e, 0x77b417df, 0xd2aac504, 0x77fab989, 0xd3670446,
555 0x78403329, 0xd423b191,
556 0x78848414, 0xd4e0cb15, 0x78c7aba2, 0xd59e4eff, 0x7909a92d, 0xd65c3b7b,
557 0x794a7c12, 0xd71a8eb5,
558 0x798a23b1, 0xd7d946d8, 0x79c89f6e, 0xd898620c, 0x7a05eead, 0xd957de7a,
559 0x7a4210d8, 0xda17ba4a,
560 0x7a7d055b, 0xdad7f3a2, 0x7ab6cba4, 0xdb9888a8, 0x7aef6323, 0xdc597781,
561 0x7b26cb4f, 0xdd1abe51,
562 0x7b5d039e, 0xdddc5b3b, 0x7b920b89, 0xde9e4c60, 0x7bc5e290, 0xdf608fe4,
563 0x7bf88830, 0xe02323e5,
564 0x7c29fbee, 0xe0e60685, 0x7c5a3d50, 0xe1a935e2, 0x7c894bde, 0xe26cb01b,
565 0x7cb72724, 0xe330734d,
566 0x7ce3ceb2, 0xe3f47d96, 0x7d0f4218, 0xe4b8cd11, 0x7d3980ec, 0xe57d5fda,
567 0x7d628ac6, 0xe642340d,
568 0x7d8a5f40, 0xe70747c4, 0x7db0fdf8, 0xe7cc9917, 0x7dd6668f, 0xe8922622,
569 0x7dfa98a8, 0xe957ecfb,
570 0x7e1d93ea, 0xea1debbb, 0x7e3f57ff, 0xeae4207a, 0x7e5fe493, 0xebaa894f,
571 0x7e7f3957, 0xec71244f,
572 0x7e9d55fc, 0xed37ef91, 0x7eba3a39, 0xedfee92b, 0x7ed5e5c6, 0xeec60f31,
573 0x7ef05860, 0xef8d5fb8,
574 0x7f0991c4, 0xf054d8d5, 0x7f2191b4, 0xf11c789a, 0x7f3857f6, 0xf1e43d1c,
575 0x7f4de451, 0xf2ac246e,
576 0x7f62368f, 0xf3742ca2, 0x7f754e80, 0xf43c53cb, 0x7f872bf3, 0xf50497fb,
577 0x7f97cebd, 0xf5ccf743,
578 0x7fa736b4, 0xf6956fb7, 0x7fb563b3, 0xf75dff66, 0x7fc25596, 0xf826a462,
579 0x7fce0c3e, 0xf8ef5cbb,
580 0x7fd8878e, 0xf9b82684, 0x7fe1c76b, 0xfa80ffcb, 0x7fe9cbc0, 0xfb49e6a3,
581 0x7ff09478, 0xfc12d91a,
582 0x7ff62182, 0xfcdbd541, 0x7ffa72d1, 0xfda4d929, 0x7ffd885a, 0xfe6de2e0,
583 0x7fff6216, 0xff36f078
588 * @brief Initialization function for the Q31 CFFT/CIFFT.
589 * @param[in,out] *S points to an instance of the Q31 CFFT/CIFFT structure.
590 * @param[in] fftLen length of the FFT.
591 * @param[in] ifftFlag flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform.
592 * @param[in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
593 * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>fftLen</code> is not a supported value.
597 * The parameter <code>ifftFlag</code> controls whether a forward or inverse transform is computed.
598 * Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
600 * The parameter <code>bitReverseFlag</code> controls whether output is in normal order or bit reversed order.
601 * Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order.
603 * The parameter <code>fftLen</code> Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
605 * This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
608 arm_status arm_cfft_radix4_init_q31(
609 arm_cfft_radix4_instance_q31 * S,
612 uint8_t bitReverseFlag)
614 /* Initialise the default arm status */
615 arm_status status = ARM_MATH_SUCCESS;
616 /* Initialise the FFT length */
618 /* Initialise the Twiddle coefficient pointer */
619 S->pTwiddle = (q31_t *) twiddleCoefQ31;
620 /* Initialise the Flag for selection of CFFT or CIFFT */
621 S->ifftFlag = ifftFlag;
622 /* Initialise the Flag for calculation Bit reversal or not */
623 S->bitReverseFlag = bitReverseFlag;
625 /* Initializations of Instance structure depending on the FFT length */
628 /* Initializations of structure parameters for 1024 point FFT */
630 /* Initialise the twiddle coef modifier value */
631 S->twidCoefModifier = 1u;
632 /* Initialise the bit reversal table modifier */
633 S->bitRevFactor = 1u;
634 /* Initialise the bit reversal table pointer */
635 S->pBitRevTable = armBitRevTable;
639 /* Initializations of structure parameters for 256 point FFT */
640 S->twidCoefModifier = 4u;
641 S->bitRevFactor = 4u;
642 S->pBitRevTable = (uint16_t *) & armBitRevTable[3];
646 /* Initializations of structure parameters for 64 point FFT */
647 S->twidCoefModifier = 16u;
648 S->bitRevFactor = 16u;
649 S->pBitRevTable = &armBitRevTable[15];
653 /* Initializations of structure parameters for 16 point FFT */
654 S->twidCoefModifier = 64u;
655 S->bitRevFactor = 64u;
656 S->pBitRevTable = &armBitRevTable[63];
660 /* Reporting argument error if fftSize is not valid value */
661 status = ARM_MATH_ARGUMENT_ERROR;
669 * @} end of CFFT_CIFFT group