blob: 57190307323ea9e43d980db785152a8360bf502b [file] [log] [blame]
Christophe Favergeone0181322019-05-20 13:25:14 +02001function(fft PROJECT)
2#######################################
3#
4# CFFT F32
5#
6
7
8if (CONFIGTABLE AND CFFT_F32_16)
9 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010010if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010011 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
12else()
Christophe Favergeone0181322019-05-20 13:25:14 +020013 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
14endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010015endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020016
17if (CONFIGTABLE AND CFFT_F32_32)
18 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010019if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010020 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
21else()
Christophe Favergeone0181322019-05-20 13:25:14 +020022 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
23endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010024endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020025
26if (CONFIGTABLE AND CFFT_F32_64)
27 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010028if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010029 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
30else()
Christophe Favergeone0181322019-05-20 13:25:14 +020031 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
32endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010033endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020034
35if (CONFIGTABLE AND CFFT_F32_128)
36 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010037if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010038 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
39else()
Christophe Favergeone0181322019-05-20 13:25:14 +020040 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
41endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010042endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020043
44if (CONFIGTABLE AND CFFT_F32_256)
45 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010046if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010047 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
48else()
Christophe Favergeone0181322019-05-20 13:25:14 +020049 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
50endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010051endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020052
53if (CONFIGTABLE AND CFFT_F32_512)
54 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010055if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010056 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
57else()
Christophe Favergeone0181322019-05-20 13:25:14 +020058 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
59endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010060endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020061
62if (CONFIGTABLE AND CFFT_F32_1024)
63 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010064if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010065 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
66else()
Christophe Favergeone0181322019-05-20 13:25:14 +020067 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
68endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010069endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020070
71if (CONFIGTABLE AND CFFT_F32_2048)
72 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010073if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010074 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
75else()
Christophe Favergeone0181322019-05-20 13:25:14 +020076 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
77endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010078endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020079
80if (CONFIGTABLE AND CFFT_F32_4096)
81 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeon026b19b2020-12-15 12:14:01 +010082if (HELIUM OR MVEF AND (NOT GCC))
Christophe Favergeonaefd2772020-01-08 09:01:17 +010083 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
84else()
Christophe Favergeone0181322019-05-20 13:25:14 +020085 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_4096)
86endif()
Christophe Favergeonaefd2772020-01-08 09:01:17 +010087endif()
Christophe Favergeone0181322019-05-20 13:25:14 +020088
Christophe Favergeonc46f1522020-04-21 14:04:25 +020089#######################################
90#
91# CFFT F16
92#
93
94
95if (CONFIGTABLE AND CFFT_F16_16)
96 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_16)
Christophe Favergeon8700f502020-09-18 14:14:27 +020097 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
Christophe Favergeonc46f1522020-04-21 14:04:25 +020098 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
Christophe Favergeonc46f1522020-04-21 14:04:25 +020099endif()
100
101if (CONFIGTABLE AND CFFT_F16_32)
102 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_32)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200103 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200104 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200105endif()
106
107if (CONFIGTABLE AND CFFT_F16_64)
108 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_64)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200109 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200110 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200111endif()
112
113if (CONFIGTABLE AND CFFT_F16_128)
114 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_128)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200115 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200116 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200117endif()
118
119if (CONFIGTABLE AND CFFT_F16_256)
120 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_256)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200121 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200122 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200123endif()
124
125if (CONFIGTABLE AND CFFT_F16_512)
126 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_512)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200127 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200128 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200129endif()
130
131if (CONFIGTABLE AND CFFT_F16_1024)
132 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_1024)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200133 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200134 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200135endif()
136
137if (CONFIGTABLE AND CFFT_F16_2048)
138 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_2048)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200139 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200140 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200141endif()
142
143if (CONFIGTABLE AND CFFT_F16_4096)
144 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200145 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_4096)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200146 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
Christophe Favergeonc46f1522020-04-21 14:04:25 +0200147endif()
FabKleinc9d4a4a2019-11-29 14:48:08 +0100148
149#######################################
150#
151# CFFT F64
152#
153
154
155if (CONFIGTABLE AND CFFT_F64_16)
156 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
157 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
158endif()
159
160if (CONFIGTABLE AND CFFT_F64_32)
161 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
162 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
163endif()
164
165if (CONFIGTABLE AND CFFT_F64_64)
166 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
167 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
168endif()
169
170if (CONFIGTABLE AND CFFT_F64_128)
171 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
172 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
173endif()
174
175if (CONFIGTABLE AND CFFT_F64_256)
176 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
177 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
178endif()
179
180if (CONFIGTABLE AND CFFT_F64_512)
181 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
182 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
183endif()
184
185if (CONFIGTABLE AND CFFT_F64_1024)
186 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
187 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
188endif()
189
190if (CONFIGTABLE AND CFFT_F64_2048)
191 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
192 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
193endif()
194
195if (CONFIGTABLE AND CFFT_F64_4096)
196 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_4096)
197 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_4096)
198endif()
199
Christophe Favergeone0181322019-05-20 13:25:14 +0200200#######################################
201#
202# CFFT Q31
203#
204
205if (CONFIGTABLE AND CFFT_Q31_16)
206 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
207 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
208endif()
209
210if (CONFIGTABLE AND CFFT_Q31_32)
211 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
212 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
213endif()
214
215if (CONFIGTABLE AND CFFT_Q31_64)
216 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
217 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
218endif()
219
220if (CONFIGTABLE AND CFFT_Q31_128)
221 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
222 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
223endif()
224
225if (CONFIGTABLE AND CFFT_Q31_256)
226 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
227 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
228endif()
229
230if (CONFIGTABLE AND CFFT_Q31_512)
231 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
232 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
233endif()
234
235if (CONFIGTABLE AND CFFT_Q31_1024)
236 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
237 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
238endif()
239
240if (CONFIGTABLE AND CFFT_Q31_2048)
241 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
242 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
243endif()
244
245if (CONFIGTABLE AND CFFT_Q31_4096)
246 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
247 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
248endif()
249
250#######################################
251#
252# CFFT Q15
253#
254
255if (CONFIGTABLE AND CFFT_Q15_16)
256 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
257 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
258endif()
259
260if (CONFIGTABLE AND CFFT_Q15_32)
261 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
262 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
263endif()
264
265if (CONFIGTABLE AND CFFT_Q15_64)
266 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_64)
267 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
268endif()
269
270if (CONFIGTABLE AND CFFT_Q15_128)
271 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
272 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
273endif()
274
275if (CONFIGTABLE AND CFFT_Q15_256)
276 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
277 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
278endif()
279
280if (CONFIGTABLE AND CFFT_Q15_512)
281 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
282 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
283endif()
284
285if (CONFIGTABLE AND CFFT_Q15_1024)
286 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
287 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
288endif()
289
290if (CONFIGTABLE AND CFFT_Q15_2048)
291 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
292 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
293endif()
294
295if (CONFIGTABLE AND CFFT_Q15_4096)
296 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
297 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
298endif()
299
300#######################################
301#
FabKleinc9d4a4a2019-11-29 14:48:08 +0100302# RFFT FAST F64
303#
304
305if (CONFIGTABLE AND RFFT_FAST_F64_32)
306 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
307 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
308 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_32)
309 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
310endif()
311
312if (CONFIGTABLE AND RFFT_FAST_F64_64)
313 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
314 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_32)
315 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_64)
316 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
317endif()
318
319if (CONFIGTABLE AND RFFT_FAST_F64_128)
320 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
321 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
322 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_128)
323 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
324endif()
325
326if (CONFIGTABLE AND RFFT_FAST_F64_256)
327 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
328 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
329 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_256)
330 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
331endif()
332
333if (CONFIGTABLE AND RFFT_FAST_F64_512)
334 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
335 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
336 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_512)
337 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
338endif()
339
340if (CONFIGTABLE AND RFFT_FAST_F64_1024)
341 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
342 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
343 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_1024)
344 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
345endif()
346
347if (CONFIGTABLE AND RFFT_FAST_F64_2048)
348 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
349 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
350 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_2048)
351 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
352endif()
353
354if (CONFIGTABLE AND RFFT_FAST_F64_4096)
355 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
356 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
357 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_4096)
358 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
359endif()
360
361#######################################
362#
Christophe Favergeone0181322019-05-20 13:25:14 +0200363# RFFT FAST F32
364#
365
366if (CONFIGTABLE AND RFFT_FAST_F32_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100367 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
368 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
369 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200370endif()
371
372if (CONFIGTABLE AND RFFT_FAST_F32_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100373 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
374 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
375 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_64)
Christophe Favergeone0181322019-05-20 13:25:14 +0200376endif()
377
378if (CONFIGTABLE AND RFFT_FAST_F32_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100379 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
380 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
381 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_128)
Christophe Favergeone0181322019-05-20 13:25:14 +0200382endif()
383
384if (CONFIGTABLE AND RFFT_FAST_F32_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100385 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
386 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
Christophe Favergeone0181322019-05-20 13:25:14 +0200387 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_256)
Christophe Favergeone0181322019-05-20 13:25:14 +0200388endif()
389
390if (CONFIGTABLE AND RFFT_FAST_F32_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100391 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
392 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
393 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200394endif()
395
396if (CONFIGTABLE AND RFFT_FAST_F32_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100397 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
398 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
399 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200400endif()
401
402if (CONFIGTABLE AND RFFT_FAST_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100403 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
404 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
405 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_2048)
Christophe Favergeone0181322019-05-20 13:25:14 +0200406endif()
407
408if (CONFIGTABLE AND RFFT_FAST_F32_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100409 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
410 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
411 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200412endif()
413
414#######################################
415#
Christophe Favergeond50998d2020-08-03 12:11:15 +0200416# RFFT FAST F16
417#
418
419if (CONFIGTABLE AND RFFT_FAST_F16_32)
420 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_16)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200421 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200422 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200423 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_32)
424endif()
425
426if (CONFIGTABLE AND RFFT_FAST_F16_64)
427 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_32)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200428 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200429 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200430 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_64)
431endif()
432
433if (CONFIGTABLE AND RFFT_FAST_F16_128)
434 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_64)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200435 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200436 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200437 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_128)
438endif()
439
440if (CONFIGTABLE AND RFFT_FAST_F16_256)
441 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_128)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200442 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200443 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200444 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_256)
445endif()
446
447if (CONFIGTABLE AND RFFT_FAST_F16_512)
448 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_256)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200449 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200450 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200451 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_512)
452endif()
453
454if (CONFIGTABLE AND RFFT_FAST_F16_1024)
455 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_512)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200456 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200457 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200458 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_1024)
459endif()
460
461if (CONFIGTABLE AND RFFT_FAST_F16_2048)
462 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_1024)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200463 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200464 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200465 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_2048)
466endif()
467
468if (CONFIGTABLE AND RFFT_FAST_F16_4096)
469 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_2048)
Christophe Favergeon8700f502020-09-18 14:14:27 +0200470 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200471 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
Christophe Favergeond50998d2020-08-03 12:11:15 +0200472 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F16_4096)
473endif()
474
475#######################################
476#
Christophe Favergeone0181322019-05-20 13:25:14 +0200477# RFFT F32
478#
479
480if (CONFIGTABLE AND RFFT_F32_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100481 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200482 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100483 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
484 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200485endif()
486
487if (CONFIGTABLE AND RFFT_F32_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100488 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200489 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100490 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
491 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200492endif()
493
494if (CONFIGTABLE AND RFFT_F32_128)
495 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
496 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100497 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
498 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200499endif()
500
501if (CONFIGTABLE AND RFFT_F32_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100502 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200503 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100504 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
505 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200506endif()
507
508if (CONFIGTABLE AND RFFT_F32_512)
509 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
510 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100511 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
512 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200513endif()
514
515if (CONFIGTABLE AND RFFT_F32_1024)
516 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
517 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100518 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
519 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200520endif()
521
522if (CONFIGTABLE AND RFFT_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100523 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200524 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100525 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
526 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200527endif()
528
529if (CONFIGTABLE AND RFFT_F32_4096)
530 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
531 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100532 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
533 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200534endif()
535
536if (CONFIGTABLE AND RFFT_F32_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100537 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200538 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100539 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
540 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200541endif()
542
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200543
544#######################################
545#
546# RFFT F16 (for radix4 and radix2)
547#
548
549if (CONFIGTABLE AND RFFT_F16_32)
550 # For cfft_radix4_init
551 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
552 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
553endif()
554
555if (CONFIGTABLE AND RFFT_F16_64)
556 # For cfft_radix4_init
557 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
558 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
559endif()
560
561if (CONFIGTABLE AND RFFT_F16_128)
562 # For cfft_radix4_init
563 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
564 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
565endif()
566
567if (CONFIGTABLE AND RFFT_F16_256)
568 # For cfft_radix4_init
569 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
570 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
571endif()
572
573if (CONFIGTABLE AND RFFT_F16_512)
574 # For cfft_radix4_init
575 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
576 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
577endif()
578
579if (CONFIGTABLE AND RFFT_F16_1024)
580 # For cfft_radix4_init
581 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
582 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
583endif()
584
585if (CONFIGTABLE AND RFFT_F16_2048)
586 # For cfft_radix4_init
587 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
588 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
589endif()
590
591if (CONFIGTABLE AND RFFT_F16_4096)
592 # For cfft_radix4_init
593 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
594 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
595endif()
596
597if (CONFIGTABLE AND RFFT_F16_8192)
598 # For cfft_radix4_init
599 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
600 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096)
601endif()
602
Christophe Favergeone0181322019-05-20 13:25:14 +0200603#######################################
604#
605# RFFT Q31
606#
607
608if (CONFIGTABLE AND RFFT_Q31_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100609 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200610 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
611 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
612endif()
613
614if (CONFIGTABLE AND RFFT_Q31_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100615 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200616 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
617 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
618endif()
619
620if (CONFIGTABLE AND RFFT_Q31_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100621 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200622 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
623 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
624endif()
625
626if (CONFIGTABLE AND RFFT_Q31_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100627 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200628 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
629 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
630endif()
631
632if (CONFIGTABLE AND RFFT_Q31_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100633 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200634 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
635 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
636endif()
637
638if (CONFIGTABLE AND RFFT_Q31_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100639 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200640 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
641 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
642endif()
643
644if (CONFIGTABLE AND RFFT_Q31_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100645 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200646 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
647 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
648endif()
649
650if (CONFIGTABLE AND RFFT_Q31_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100651 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200652 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
653 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
654endif()
655
656if (CONFIGTABLE AND RFFT_Q31_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100657 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200658 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
659 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
660endif()
661
662#######################################
663#
664# RFFT FAST Q15
665#
666
667if (CONFIGTABLE AND RFFT_Q15_32)
668 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
669 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100670 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
Christophe Favergeone0181322019-05-20 13:25:14 +0200671endif()
672
673if (CONFIGTABLE AND RFFT_Q15_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100674 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200675 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
676 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
677endif()
678
679if (CONFIGTABLE AND RFFT_Q15_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100680 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200681 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_64)
682 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
683endif()
684
685if (CONFIGTABLE AND RFFT_Q15_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100686 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200687 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
688 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
689endif()
690
691if (CONFIGTABLE AND RFFT_Q15_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100692 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200693 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
694 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
695endif()
696
697if (CONFIGTABLE AND RFFT_Q15_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100698 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200699 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
700 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
701endif()
702
703if (CONFIGTABLE AND RFFT_Q15_2048)
704 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
705 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100706 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200707endif()
708
709if (CONFIGTABLE AND RFFT_Q15_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100710 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200711 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
712 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
713endif()
714
715if (CONFIGTABLE AND RFFT_Q15_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100716 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200717 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
718 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
719endif()
720
721#######################################
722#
723# DCT4 F32
724#
725
726if (CONFIGTABLE AND DCT4_F32_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100727 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_128)
728 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200729
730 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100731 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200732 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
733endif()
734
735if (CONFIGTABLE AND DCT4_F32_512)
736 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100737 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200738
739 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100740 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
741 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200742endif()
743
744if (CONFIGTABLE AND DCT4_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100745 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_2048)
746 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200747
748 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100749 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200750 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
751endif()
752
753if (CONFIGTABLE AND DCT4_F32_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100754 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_8192)
755 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200756
757 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100758 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200759 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
760endif()
761
762#######################################
763#
764# DCT4 Q31
765#
766
767if (CONFIGTABLE AND DCT4_Q31_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100768 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_128)
769 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200770
771 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100772 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200773 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
774endif()
775
FabKleinc9d4a4a2019-11-29 14:48:08 +0100776if (CONFIGTABLE AND DCT4_Q31_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200777 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_512)
778 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
779
780 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100781 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
782 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200783endif()
784
785if (CONFIGTABLE AND DCT4_Q31_2048)
786 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100787 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200788
789 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100790 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200791 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
792endif()
793
794if (CONFIGTABLE AND DCT4_Q31_8192)
795 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100796 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200797
798 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100799 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
800 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200801endif()
802
803#######################################
804#
805# DCT4 Q15
806#
807
FabKleinc9d4a4a2019-11-29 14:48:08 +0100808if (CONFIGTABLE AND DCT4_Q15_128)
809 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_128)
810 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200811
812 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100813 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200814 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
815endif()
816
FabKleinc9d4a4a2019-11-29 14:48:08 +0100817if (CONFIGTABLE AND DCT4_Q15_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200818 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100819 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200820
821 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100822 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200823 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
824endif()
825
826if (CONFIGTABLE AND DCT4_Q15_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100827 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_2048)
Christophe Favergeone0181322019-05-20 13:25:14 +0200828 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
829
830 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100831 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200832 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
833endif()
834
835if (CONFIGTABLE AND DCT4_Q15_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100836 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_8192)
Christophe Favergeone0181322019-05-20 13:25:14 +0200837 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
838
839 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100840 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200841 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
842endif()
843
Christophe Favergeon6ef1bb22020-08-14 12:07:47 +0200844
845
Christophe Favergeone0181322019-05-20 13:25:14 +0200846endfunction()