fft.cmake 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. function(fft PROJECT)
  2. #######################################
  3. #
  4. # CFFT F32
  5. #
  6. if (CONFIGTABLE AND CFFT_F32_16)
  7. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
  8. if (HELIUM OR MVEF)
  9. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
  10. else()
  11. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
  12. endif()
  13. endif()
  14. if (CONFIGTABLE AND CFFT_F32_32)
  15. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
  16. if (HELIUM OR MVEF)
  17. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
  18. else()
  19. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
  20. endif()
  21. endif()
  22. if (CONFIGTABLE AND CFFT_F32_64)
  23. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
  24. if (HELIUM OR MVEF)
  25. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
  26. else()
  27. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
  28. endif()
  29. endif()
  30. if (CONFIGTABLE AND CFFT_F32_128)
  31. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
  32. if (HELIUM OR MVEF)
  33. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
  34. else()
  35. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
  36. endif()
  37. endif()
  38. if (CONFIGTABLE AND CFFT_F32_256)
  39. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
  40. if (HELIUM OR MVEF)
  41. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
  42. else()
  43. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
  44. endif()
  45. endif()
  46. if (CONFIGTABLE AND CFFT_F32_512)
  47. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
  48. if (HELIUM OR MVEF)
  49. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
  50. else()
  51. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
  52. endif()
  53. endif()
  54. if (CONFIGTABLE AND CFFT_F32_1024)
  55. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
  56. if (HELIUM OR MVEF)
  57. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
  58. else()
  59. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
  60. endif()
  61. endif()
  62. if (CONFIGTABLE AND CFFT_F32_2048)
  63. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
  64. if (HELIUM OR MVEF)
  65. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
  66. else()
  67. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
  68. endif()
  69. endif()
  70. if (CONFIGTABLE AND CFFT_F32_4096)
  71. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  72. if (HELIUM OR MVEF)
  73. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
  74. else()
  75. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_4096)
  76. endif()
  77. endif()
  78. #######################################
  79. #
  80. # CFFT F64
  81. #
  82. if (CONFIGTABLE AND CFFT_F64_16)
  83. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
  84. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
  85. endif()
  86. if (CONFIGTABLE AND CFFT_F64_32)
  87. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
  88. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
  89. endif()
  90. if (CONFIGTABLE AND CFFT_F64_64)
  91. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
  92. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
  93. endif()
  94. if (CONFIGTABLE AND CFFT_F64_128)
  95. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
  96. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
  97. endif()
  98. if (CONFIGTABLE AND CFFT_F64_256)
  99. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
  100. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
  101. endif()
  102. if (CONFIGTABLE AND CFFT_F64_512)
  103. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
  104. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
  105. endif()
  106. if (CONFIGTABLE AND CFFT_F64_1024)
  107. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
  108. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
  109. endif()
  110. if (CONFIGTABLE AND CFFT_F64_2048)
  111. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
  112. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
  113. endif()
  114. if (CONFIGTABLE AND CFFT_F64_4096)
  115. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_4096)
  116. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_4096)
  117. endif()
  118. #######################################
  119. #
  120. # CFFT Q31
  121. #
  122. if (CONFIGTABLE AND CFFT_Q31_16)
  123. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
  124. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
  125. endif()
  126. if (CONFIGTABLE AND CFFT_Q31_32)
  127. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
  128. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
  129. endif()
  130. if (CONFIGTABLE AND CFFT_Q31_64)
  131. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
  132. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
  133. endif()
  134. if (CONFIGTABLE AND CFFT_Q31_128)
  135. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
  136. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
  137. endif()
  138. if (CONFIGTABLE AND CFFT_Q31_256)
  139. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
  140. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
  141. endif()
  142. if (CONFIGTABLE AND CFFT_Q31_512)
  143. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
  144. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
  145. endif()
  146. if (CONFIGTABLE AND CFFT_Q31_1024)
  147. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
  148. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
  149. endif()
  150. if (CONFIGTABLE AND CFFT_Q31_2048)
  151. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
  152. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
  153. endif()
  154. if (CONFIGTABLE AND CFFT_Q31_4096)
  155. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  156. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
  157. endif()
  158. #######################################
  159. #
  160. # CFFT Q15
  161. #
  162. if (CONFIGTABLE AND CFFT_Q15_16)
  163. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
  164. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
  165. endif()
  166. if (CONFIGTABLE AND CFFT_Q15_32)
  167. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
  168. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
  169. endif()
  170. if (CONFIGTABLE AND CFFT_Q15_64)
  171. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_64)
  172. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
  173. endif()
  174. if (CONFIGTABLE AND CFFT_Q15_128)
  175. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
  176. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
  177. endif()
  178. if (CONFIGTABLE AND CFFT_Q15_256)
  179. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
  180. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
  181. endif()
  182. if (CONFIGTABLE AND CFFT_Q15_512)
  183. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
  184. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
  185. endif()
  186. if (CONFIGTABLE AND CFFT_Q15_1024)
  187. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
  188. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
  189. endif()
  190. if (CONFIGTABLE AND CFFT_Q15_2048)
  191. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
  192. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
  193. endif()
  194. if (CONFIGTABLE AND CFFT_Q15_4096)
  195. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  196. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
  197. endif()
  198. #######################################
  199. #
  200. # RFFT FAST F64
  201. #
  202. if (CONFIGTABLE AND RFFT_FAST_F64_32)
  203. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
  204. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
  205. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_32)
  206. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
  207. endif()
  208. if (CONFIGTABLE AND RFFT_FAST_F64_64)
  209. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
  210. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_32)
  211. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_64)
  212. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
  213. endif()
  214. if (CONFIGTABLE AND RFFT_FAST_F64_128)
  215. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
  216. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
  217. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_128)
  218. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
  219. endif()
  220. if (CONFIGTABLE AND RFFT_FAST_F64_256)
  221. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
  222. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
  223. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_256)
  224. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
  225. endif()
  226. if (CONFIGTABLE AND RFFT_FAST_F64_512)
  227. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
  228. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
  229. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_512)
  230. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
  231. endif()
  232. if (CONFIGTABLE AND RFFT_FAST_F64_1024)
  233. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
  234. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
  235. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_1024)
  236. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
  237. endif()
  238. if (CONFIGTABLE AND RFFT_FAST_F64_2048)
  239. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
  240. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
  241. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_2048)
  242. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
  243. endif()
  244. if (CONFIGTABLE AND RFFT_FAST_F64_4096)
  245. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
  246. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
  247. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_4096)
  248. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
  249. endif()
  250. #######################################
  251. #
  252. # RFFT FAST F32
  253. #
  254. if (CONFIGTABLE AND RFFT_FAST_F32_32)
  255. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
  256. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
  257. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_32)
  258. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
  259. endif()
  260. if (CONFIGTABLE AND RFFT_FAST_F32_64)
  261. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
  262. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
  263. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_64)
  264. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
  265. endif()
  266. if (CONFIGTABLE AND RFFT_FAST_F32_128)
  267. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
  268. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
  269. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_128)
  270. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
  271. endif()
  272. if (CONFIGTABLE AND RFFT_FAST_F32_256)
  273. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
  274. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
  275. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_256)
  276. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
  277. endif()
  278. if (CONFIGTABLE AND RFFT_FAST_F32_512)
  279. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
  280. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
  281. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_512)
  282. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
  283. endif()
  284. if (CONFIGTABLE AND RFFT_FAST_F32_1024)
  285. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
  286. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
  287. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_1024)
  288. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
  289. endif()
  290. if (CONFIGTABLE AND RFFT_FAST_F32_2048)
  291. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
  292. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
  293. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_2048)
  294. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
  295. endif()
  296. if (CONFIGTABLE AND RFFT_FAST_F32_4096)
  297. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
  298. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
  299. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096)
  300. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
  301. endif()
  302. #######################################
  303. #
  304. # RFFT F32
  305. #
  306. if (CONFIGTABLE AND RFFT_F32_32)
  307. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  308. # For cfft_radix4_init
  309. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  310. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  311. endif()
  312. if (CONFIGTABLE AND RFFT_F32_64)
  313. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  314. # For cfft_radix4_init
  315. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  316. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  317. endif()
  318. if (CONFIGTABLE AND RFFT_F32_128)
  319. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  320. # For cfft_radix4_init
  321. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  322. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  323. endif()
  324. if (CONFIGTABLE AND RFFT_F32_256)
  325. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  326. # For cfft_radix4_init
  327. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  328. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  329. endif()
  330. if (CONFIGTABLE AND RFFT_F32_512)
  331. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  332. # For cfft_radix4_init
  333. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  334. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  335. endif()
  336. if (CONFIGTABLE AND RFFT_F32_1024)
  337. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  338. # For cfft_radix4_init
  339. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  340. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  341. endif()
  342. if (CONFIGTABLE AND RFFT_F32_2048)
  343. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  344. # For cfft_radix4_init
  345. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  346. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  347. endif()
  348. if (CONFIGTABLE AND RFFT_F32_4096)
  349. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  350. # For cfft_radix4_init
  351. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  352. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  353. endif()
  354. if (CONFIGTABLE AND RFFT_F32_8192)
  355. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  356. # For cfft_radix4_init
  357. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  358. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  359. endif()
  360. #######################################
  361. #
  362. # RFFT Q31
  363. #
  364. if (CONFIGTABLE AND RFFT_Q31_32)
  365. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  366. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
  367. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
  368. endif()
  369. if (CONFIGTABLE AND RFFT_Q31_64)
  370. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  371. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
  372. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
  373. endif()
  374. if (CONFIGTABLE AND RFFT_Q31_128)
  375. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  376. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
  377. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
  378. endif()
  379. if (CONFIGTABLE AND RFFT_Q31_256)
  380. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  381. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
  382. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
  383. endif()
  384. if (CONFIGTABLE AND RFFT_Q31_512)
  385. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  386. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
  387. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
  388. endif()
  389. if (CONFIGTABLE AND RFFT_Q31_1024)
  390. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  391. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
  392. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
  393. endif()
  394. if (CONFIGTABLE AND RFFT_Q31_2048)
  395. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  396. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
  397. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
  398. endif()
  399. if (CONFIGTABLE AND RFFT_Q31_4096)
  400. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  401. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
  402. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
  403. endif()
  404. if (CONFIGTABLE AND RFFT_Q31_8192)
  405. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  406. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  407. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
  408. endif()
  409. #######################################
  410. #
  411. # RFFT FAST Q15
  412. #
  413. if (CONFIGTABLE AND RFFT_Q15_32)
  414. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  415. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
  416. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
  417. endif()
  418. if (CONFIGTABLE AND RFFT_Q15_64)
  419. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  420. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
  421. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
  422. endif()
  423. if (CONFIGTABLE AND RFFT_Q15_128)
  424. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  425. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_64)
  426. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
  427. endif()
  428. if (CONFIGTABLE AND RFFT_Q15_256)
  429. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  430. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
  431. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
  432. endif()
  433. if (CONFIGTABLE AND RFFT_Q15_512)
  434. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  435. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
  436. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
  437. endif()
  438. if (CONFIGTABLE AND RFFT_Q15_1024)
  439. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  440. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
  441. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
  442. endif()
  443. if (CONFIGTABLE AND RFFT_Q15_2048)
  444. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  445. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
  446. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
  447. endif()
  448. if (CONFIGTABLE AND RFFT_Q15_4096)
  449. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  450. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
  451. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
  452. endif()
  453. if (CONFIGTABLE AND RFFT_Q15_8192)
  454. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  455. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  456. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
  457. endif()
  458. #######################################
  459. #
  460. # DCT4 F32
  461. #
  462. if (CONFIGTABLE AND DCT4_F32_128)
  463. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_128)
  464. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  465. # For cfft_radix4_init
  466. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  467. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  468. endif()
  469. if (CONFIGTABLE AND DCT4_F32_512)
  470. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_512)
  471. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  472. # For cfft_radix4_init
  473. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  474. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  475. endif()
  476. if (CONFIGTABLE AND DCT4_F32_2048)
  477. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_2048)
  478. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  479. # For cfft_radix4_init
  480. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  481. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  482. endif()
  483. if (CONFIGTABLE AND DCT4_F32_8192)
  484. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_8192)
  485. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
  486. # For cfft_radix4_init
  487. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  488. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
  489. endif()
  490. #######################################
  491. #
  492. # DCT4 Q31
  493. #
  494. if (CONFIGTABLE AND DCT4_Q31_128)
  495. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_128)
  496. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  497. # For cfft_radix4_init
  498. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  499. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  500. endif()
  501. if (CONFIGTABLE AND DCT4_Q31_512)
  502. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_512)
  503. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  504. # For cfft_radix4_init
  505. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  506. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  507. endif()
  508. if (CONFIGTABLE AND DCT4_Q31_2048)
  509. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_2048)
  510. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  511. # For cfft_radix4_init
  512. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  513. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  514. endif()
  515. if (CONFIGTABLE AND DCT4_Q31_8192)
  516. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_8192)
  517. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
  518. # For cfft_radix4_init
  519. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  520. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
  521. endif()
  522. #######################################
  523. #
  524. # DCT4 Q15
  525. #
  526. if (CONFIGTABLE AND DCT4_Q15_128)
  527. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_128)
  528. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  529. # For cfft_radix4_init
  530. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  531. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  532. endif()
  533. if (CONFIGTABLE AND DCT4_Q15_512)
  534. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_512)
  535. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  536. # For cfft_radix4_init
  537. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  538. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  539. endif()
  540. if (CONFIGTABLE AND DCT4_Q15_2048)
  541. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_2048)
  542. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  543. # For cfft_radix4_init
  544. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  545. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  546. endif()
  547. if (CONFIGTABLE AND DCT4_Q15_8192)
  548. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_8192)
  549. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
  550. # For cfft_radix4_init
  551. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
  552. target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
  553. endif()
  554. endfunction()