arm_const_structs.c 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. /* ----------------------------------------------------------------------
  2. * Project: CMSIS DSP Library
  3. * Title: arm_const_structs.c
  4. * Description: Constant structs that are initialized for user convenience.
  5. * For example, some can be given as arguments to the arm_cfft_f32() or arm_rfft_f32() functions.
  6. *
  7. * $Date: 23 April 2021
  8. * $Revision: V1.9.0
  9. *
  10. * Target Processor: Cortex-M and Cortex-A cores
  11. * -------------------------------------------------------------------- */
  12. /*
  13. * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
  14. *
  15. * SPDX-License-Identifier: Apache-2.0
  16. *
  17. * Licensed under the Apache License, Version 2.0 (the License); you may
  18. * not use this file except in compliance with the License.
  19. * You may obtain a copy of the License at
  20. *
  21. * www.apache.org/licenses/LICENSE-2.0
  22. *
  23. * Unless required by applicable law or agreed to in writing, software
  24. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  25. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  26. * See the License for the specific language governing permissions and
  27. * limitations under the License.
  28. */
  29. #include "arm_math_types.h"
  30. #include "arm_const_structs.h"
  31. /*
  32. ALLOW TABLE is true when config table is enabled and the Tramsform folder is included
  33. for compilation.
  34. */
  35. /* Floating-point structs */
  36. const arm_cfft_instance_f64 arm_cfft_sR_f64_len16 = {
  37. 16, (const float64_t *)twiddleCoefF64_16, armBitRevIndexTableF64_16, ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH
  38. };
  39. const arm_cfft_instance_f64 arm_cfft_sR_f64_len32 = {
  40. 32, (const float64_t *)twiddleCoefF64_32, armBitRevIndexTableF64_32, ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH
  41. };
  42. const arm_cfft_instance_f64 arm_cfft_sR_f64_len64 = {
  43. 64, (const float64_t *)twiddleCoefF64_64, armBitRevIndexTableF64_64, ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH
  44. };
  45. const arm_cfft_instance_f64 arm_cfft_sR_f64_len128 = {
  46. 128, (const float64_t *)twiddleCoefF64_128, armBitRevIndexTableF64_128, ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH
  47. };
  48. const arm_cfft_instance_f64 arm_cfft_sR_f64_len256 = {
  49. 256, (const float64_t *)twiddleCoefF64_256, armBitRevIndexTableF64_256, ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH
  50. };
  51. const arm_cfft_instance_f64 arm_cfft_sR_f64_len512 = {
  52. 512, (const float64_t *)twiddleCoefF64_512, armBitRevIndexTableF64_512, ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH
  53. };
  54. const arm_cfft_instance_f64 arm_cfft_sR_f64_len1024 = {
  55. 1024, (const float64_t *)twiddleCoefF64_1024, armBitRevIndexTableF64_1024, ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH
  56. };
  57. const arm_cfft_instance_f64 arm_cfft_sR_f64_len2048 = {
  58. 2048, (const float64_t *)twiddleCoefF64_2048, armBitRevIndexTableF64_2048, ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH
  59. };
  60. const arm_cfft_instance_f64 arm_cfft_sR_f64_len4096 = {
  61. 4096, (const float64_t *)twiddleCoefF64_4096, armBitRevIndexTableF64_4096, ARMBITREVINDEXTABLEF64_4096_TABLE_LENGTH
  62. };
  63. /* Floating-point structs */
  64. #if !defined(ARM_MATH_MVEF) || defined(ARM_MATH_AUTOVECTORIZE)
  65. const arm_cfft_instance_f32 arm_cfft_sR_f32_len16 = {
  66. 16, twiddleCoef_16, armBitRevIndexTable16, ARMBITREVINDEXTABLE_16_TABLE_LENGTH
  67. };
  68. const arm_cfft_instance_f32 arm_cfft_sR_f32_len32 = {
  69. 32, twiddleCoef_32, armBitRevIndexTable32, ARMBITREVINDEXTABLE_32_TABLE_LENGTH
  70. };
  71. const arm_cfft_instance_f32 arm_cfft_sR_f32_len64 = {
  72. 64, twiddleCoef_64, armBitRevIndexTable64, ARMBITREVINDEXTABLE_64_TABLE_LENGTH
  73. };
  74. const arm_cfft_instance_f32 arm_cfft_sR_f32_len128 = {
  75. 128, twiddleCoef_128, armBitRevIndexTable128, ARMBITREVINDEXTABLE_128_TABLE_LENGTH
  76. };
  77. const arm_cfft_instance_f32 arm_cfft_sR_f32_len256 = {
  78. 256, twiddleCoef_256, armBitRevIndexTable256, ARMBITREVINDEXTABLE_256_TABLE_LENGTH
  79. };
  80. const arm_cfft_instance_f32 arm_cfft_sR_f32_len512 = {
  81. 512, twiddleCoef_512, armBitRevIndexTable512, ARMBITREVINDEXTABLE_512_TABLE_LENGTH
  82. };
  83. const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024 = {
  84. 1024, twiddleCoef_1024, armBitRevIndexTable1024, ARMBITREVINDEXTABLE_1024_TABLE_LENGTH
  85. };
  86. const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048 = {
  87. 2048, twiddleCoef_2048, armBitRevIndexTable2048, ARMBITREVINDEXTABLE_2048_TABLE_LENGTH
  88. };
  89. const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096 = {
  90. 4096, twiddleCoef_4096, armBitRevIndexTable4096, ARMBITREVINDEXTABLE_4096_TABLE_LENGTH
  91. };
  92. #endif /* !defined(ARM_MATH_MVEF) || defined(ARM_MATH_AUTOVECTORIZE) */
  93. /* Fixed-point structs */
  94. #if !defined(ARM_MATH_MVEI) || defined(ARM_MATH_AUTOVECTORIZE)
  95. /*
  96. Those structures cannot be used to initialize the MVE version of the FFT Q31 instances.
  97. So they are not compiled when MVE is defined.
  98. For the MVE version, the new arm_cfft_init_f32 must be used.
  99. */
  100. const arm_cfft_instance_q31 arm_cfft_sR_q31_len16 = {
  101. 16, twiddleCoef_16_q31, armBitRevIndexTable_fixed_16, ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH
  102. };
  103. const arm_cfft_instance_q31 arm_cfft_sR_q31_len32 = {
  104. 32, twiddleCoef_32_q31, armBitRevIndexTable_fixed_32, ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH
  105. };
  106. const arm_cfft_instance_q31 arm_cfft_sR_q31_len64 = {
  107. 64, twiddleCoef_64_q31, armBitRevIndexTable_fixed_64, ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH
  108. };
  109. const arm_cfft_instance_q31 arm_cfft_sR_q31_len128 = {
  110. 128, twiddleCoef_128_q31, armBitRevIndexTable_fixed_128, ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH
  111. };
  112. const arm_cfft_instance_q31 arm_cfft_sR_q31_len256 = {
  113. 256, twiddleCoef_256_q31, armBitRevIndexTable_fixed_256, ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH
  114. };
  115. const arm_cfft_instance_q31 arm_cfft_sR_q31_len512 = {
  116. 512, twiddleCoef_512_q31, armBitRevIndexTable_fixed_512, ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH
  117. };
  118. const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024 = {
  119. 1024, twiddleCoef_1024_q31, armBitRevIndexTable_fixed_1024, ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH
  120. };
  121. const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048 = {
  122. 2048, twiddleCoef_2048_q31, armBitRevIndexTable_fixed_2048, ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH
  123. };
  124. const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096 = {
  125. 4096, twiddleCoef_4096_q31, armBitRevIndexTable_fixed_4096, ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH
  126. };
  127. const arm_cfft_instance_q15 arm_cfft_sR_q15_len16 = {
  128. 16, twiddleCoef_16_q15, armBitRevIndexTable_fixed_16, ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH
  129. };
  130. const arm_cfft_instance_q15 arm_cfft_sR_q15_len32 = {
  131. 32, twiddleCoef_32_q15, armBitRevIndexTable_fixed_32, ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH
  132. };
  133. const arm_cfft_instance_q15 arm_cfft_sR_q15_len64 = {
  134. 64, twiddleCoef_64_q15, armBitRevIndexTable_fixed_64, ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH
  135. };
  136. const arm_cfft_instance_q15 arm_cfft_sR_q15_len128 = {
  137. 128, twiddleCoef_128_q15, armBitRevIndexTable_fixed_128, ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH
  138. };
  139. const arm_cfft_instance_q15 arm_cfft_sR_q15_len256 = {
  140. 256, twiddleCoef_256_q15, armBitRevIndexTable_fixed_256, ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH
  141. };
  142. const arm_cfft_instance_q15 arm_cfft_sR_q15_len512 = {
  143. 512, twiddleCoef_512_q15, armBitRevIndexTable_fixed_512, ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH
  144. };
  145. const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024 = {
  146. 1024, twiddleCoef_1024_q15, armBitRevIndexTable_fixed_1024, ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH
  147. };
  148. const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048 = {
  149. 2048, twiddleCoef_2048_q15, armBitRevIndexTable_fixed_2048, ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH
  150. };
  151. const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096 = {
  152. 4096, twiddleCoef_4096_q15, armBitRevIndexTable_fixed_4096, ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH
  153. };
  154. #endif /* !defined(ARM_MATH_MVEI) */
  155. /* Structure for real-value inputs */
  156. /* Double precision strucs */
  157. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len32 = {
  158. { 16, (const float64_t *)twiddleCoefF64_16, armBitRevIndexTableF64_16, ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH },
  159. 32U,
  160. (float64_t *)twiddleCoefF64_rfft_32
  161. };
  162. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len64 = {
  163. { 32, (const float64_t *)twiddleCoefF64_32, armBitRevIndexTableF64_32, ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH },
  164. 64U,
  165. (float64_t *)twiddleCoefF64_rfft_64
  166. };
  167. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len128 = {
  168. { 64, (const float64_t *)twiddleCoefF64_64, armBitRevIndexTableF64_64, ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH },
  169. 128U,
  170. (float64_t *)twiddleCoefF64_rfft_128
  171. };
  172. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len256 = {
  173. { 128, (const float64_t *)twiddleCoefF64_128, armBitRevIndexTableF64_128, ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH },
  174. 256U,
  175. (float64_t *)twiddleCoefF64_rfft_256
  176. };
  177. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len512 = {
  178. { 256, (const float64_t *)twiddleCoefF64_256, armBitRevIndexTableF64_256, ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH },
  179. 512U,
  180. (float64_t *)twiddleCoefF64_rfft_512
  181. };
  182. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len1024 = {
  183. { 512, (const float64_t *)twiddleCoefF64_512, armBitRevIndexTableF64_512, ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH },
  184. 1024U,
  185. (float64_t *)twiddleCoefF64_rfft_1024
  186. };
  187. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len2048 = {
  188. { 1024, (const float64_t *)twiddleCoefF64_1024, armBitRevIndexTableF64_1024, ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH },
  189. 2048U,
  190. (float64_t *)twiddleCoefF64_rfft_2048
  191. };
  192. const arm_rfft_fast_instance_f64 arm_rfft_fast_sR_f64_len4096 = {
  193. { 2048, (const float64_t *)twiddleCoefF64_2048, armBitRevIndexTableF64_2048, ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH },
  194. 4096U,
  195. (float64_t *)twiddleCoefF64_rfft_4096
  196. };
  197. /* Floating-point structs */
  198. #if !defined(ARM_MATH_MVEF) || defined(ARM_MATH_AUTOVECTORIZE)
  199. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len32 = {
  200. { 16, twiddleCoef_16, armBitRevIndexTable16, ARMBITREVINDEXTABLE_16_TABLE_LENGTH },
  201. 32U,
  202. (float32_t *)twiddleCoef_rfft_32
  203. };
  204. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len64 = {
  205. { 32, twiddleCoef_32, armBitRevIndexTable32, ARMBITREVINDEXTABLE_32_TABLE_LENGTH },
  206. 64U,
  207. (float32_t *)twiddleCoef_rfft_64
  208. };
  209. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len128 = {
  210. { 64, twiddleCoef_64, armBitRevIndexTable64, ARMBITREVINDEXTABLE_64_TABLE_LENGTH },
  211. 128U,
  212. (float32_t *)twiddleCoef_rfft_128
  213. };
  214. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len256 = {
  215. { 128, twiddleCoef_128, armBitRevIndexTable128, ARMBITREVINDEXTABLE_128_TABLE_LENGTH },
  216. 256U,
  217. (float32_t *)twiddleCoef_rfft_256
  218. };
  219. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len512 = {
  220. { 256, twiddleCoef_256, armBitRevIndexTable256, ARMBITREVINDEXTABLE_256_TABLE_LENGTH },
  221. 512U,
  222. (float32_t *)twiddleCoef_rfft_512
  223. };
  224. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len1024 = {
  225. { 512, twiddleCoef_512, armBitRevIndexTable512, ARMBITREVINDEXTABLE_512_TABLE_LENGTH },
  226. 1024U,
  227. (float32_t *)twiddleCoef_rfft_1024
  228. };
  229. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len2048 = {
  230. { 1024, twiddleCoef_1024, armBitRevIndexTable1024, ARMBITREVINDEXTABLE_1024_TABLE_LENGTH },
  231. 2048U,
  232. (float32_t *)twiddleCoef_rfft_2048
  233. };
  234. const arm_rfft_fast_instance_f32 arm_rfft_fast_sR_f32_len4096 = {
  235. { 2048, twiddleCoef_2048, armBitRevIndexTable2048, ARMBITREVINDEXTABLE_2048_TABLE_LENGTH },
  236. 4096U,
  237. (float32_t *)twiddleCoef_rfft_4096
  238. };
  239. #endif /* #if !defined(ARM_MATH_MVEF) || defined(ARM_MATH_AUTOVECTORIZE) */
  240. /* Fixed-point structs */
  241. /* q31_t */
  242. #if !defined(ARM_MATH_MVEI) || defined(ARM_MATH_AUTOVECTORIZE)
  243. /*
  244. Those structures cannot be used to initialize the MVE version of the FFT Q31 instances.
  245. So they are not compiled when MVE is defined.
  246. For the MVE version, the new arm_cfft_init_f32 must be used.
  247. */
  248. const arm_rfft_instance_q31 arm_rfft_sR_q31_len32 = {
  249. 32U,
  250. 0,
  251. 1,
  252. 256U,
  253. (q31_t*)realCoefAQ31,
  254. (q31_t*)realCoefBQ31,
  255. &arm_cfft_sR_q31_len16
  256. };
  257. const arm_rfft_instance_q31 arm_rfft_sR_q31_len64 = {
  258. 64U,
  259. 0,
  260. 1,
  261. 128U,
  262. (q31_t*)realCoefAQ31,
  263. (q31_t*)realCoefBQ31,
  264. &arm_cfft_sR_q31_len32
  265. };
  266. const arm_rfft_instance_q31 arm_rfft_sR_q31_len128 = {
  267. 128U,
  268. 0,
  269. 1,
  270. 64U,
  271. (q31_t*)realCoefAQ31,
  272. (q31_t*)realCoefBQ31,
  273. &arm_cfft_sR_q31_len64
  274. };
  275. const arm_rfft_instance_q31 arm_rfft_sR_q31_len256 = {
  276. 256U,
  277. 0,
  278. 1,
  279. 32U,
  280. (q31_t*)realCoefAQ31,
  281. (q31_t*)realCoefBQ31,
  282. &arm_cfft_sR_q31_len128
  283. };
  284. const arm_rfft_instance_q31 arm_rfft_sR_q31_len512 = {
  285. 512U,
  286. 0,
  287. 1,
  288. 16U,
  289. (q31_t*)realCoefAQ31,
  290. (q31_t*)realCoefBQ31,
  291. &arm_cfft_sR_q31_len256
  292. };
  293. const arm_rfft_instance_q31 arm_rfft_sR_q31_len1024 = {
  294. 1024U,
  295. 0,
  296. 1,
  297. 8U,
  298. (q31_t*)realCoefAQ31,
  299. (q31_t*)realCoefBQ31,
  300. &arm_cfft_sR_q31_len512
  301. };
  302. const arm_rfft_instance_q31 arm_rfft_sR_q31_len2048 = {
  303. 2048U,
  304. 0,
  305. 1,
  306. 4U,
  307. (q31_t*)realCoefAQ31,
  308. (q31_t*)realCoefBQ31,
  309. &arm_cfft_sR_q31_len1024
  310. };
  311. const arm_rfft_instance_q31 arm_rfft_sR_q31_len4096 = {
  312. 4096U,
  313. 0,
  314. 1,
  315. 2U,
  316. (q31_t*)realCoefAQ31,
  317. (q31_t*)realCoefBQ31,
  318. &arm_cfft_sR_q31_len2048
  319. };
  320. const arm_rfft_instance_q31 arm_rfft_sR_q31_len8192 = {
  321. 8192U,
  322. 0,
  323. 1,
  324. 1U,
  325. (q31_t*)realCoefAQ31,
  326. (q31_t*)realCoefBQ31,
  327. &arm_cfft_sR_q31_len4096
  328. };
  329. /* q15_t */
  330. const arm_rfft_instance_q15 arm_rfft_sR_q15_len32 = {
  331. 32U,
  332. 0,
  333. 1,
  334. 256U,
  335. (q15_t*)realCoefAQ15,
  336. (q15_t*)realCoefBQ15,
  337. &arm_cfft_sR_q15_len16
  338. };
  339. const arm_rfft_instance_q15 arm_rfft_sR_q15_len64 = {
  340. 64U,
  341. 0,
  342. 1,
  343. 128U,
  344. (q15_t*)realCoefAQ15,
  345. (q15_t*)realCoefBQ15,
  346. &arm_cfft_sR_q15_len32
  347. };
  348. const arm_rfft_instance_q15 arm_rfft_sR_q15_len128 = {
  349. 128U,
  350. 0,
  351. 1,
  352. 64U,
  353. (q15_t*)realCoefAQ15,
  354. (q15_t*)realCoefBQ15,
  355. &arm_cfft_sR_q15_len64
  356. };
  357. const arm_rfft_instance_q15 arm_rfft_sR_q15_len256 = {
  358. 256U,
  359. 0,
  360. 1,
  361. 32U,
  362. (q15_t*)realCoefAQ15,
  363. (q15_t*)realCoefBQ15,
  364. &arm_cfft_sR_q15_len128
  365. };
  366. const arm_rfft_instance_q15 arm_rfft_sR_q15_len512 = {
  367. 512U,
  368. 0,
  369. 1,
  370. 16U,
  371. (q15_t*)realCoefAQ15,
  372. (q15_t*)realCoefBQ15,
  373. &arm_cfft_sR_q15_len256
  374. };
  375. const arm_rfft_instance_q15 arm_rfft_sR_q15_len1024 = {
  376. 1024U,
  377. 0,
  378. 1,
  379. 8U,
  380. (q15_t*)realCoefAQ15,
  381. (q15_t*)realCoefBQ15,
  382. &arm_cfft_sR_q15_len512
  383. };
  384. const arm_rfft_instance_q15 arm_rfft_sR_q15_len2048 = {
  385. 2048U,
  386. 0,
  387. 1,
  388. 4U,
  389. (q15_t*)realCoefAQ15,
  390. (q15_t*)realCoefBQ15,
  391. &arm_cfft_sR_q15_len1024
  392. };
  393. const arm_rfft_instance_q15 arm_rfft_sR_q15_len4096 = {
  394. 4096U,
  395. 0,
  396. 1,
  397. 2U,
  398. (q15_t*)realCoefAQ15,
  399. (q15_t*)realCoefBQ15,
  400. &arm_cfft_sR_q15_len2048
  401. };
  402. const arm_rfft_instance_q15 arm_rfft_sR_q15_len8192 = {
  403. 8192U,
  404. 0,
  405. 1,
  406. 1U,
  407. (q15_t*)realCoefAQ15,
  408. (q15_t*)realCoefBQ15,
  409. &arm_cfft_sR_q15_len4096
  410. };
  411. #endif /* !defined(ARM_MATH_MVEI) */