blob: b4df288aaf80de134c4154fbd371f305ae0709c0 [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)
10 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
11endif()
12
13if (CONFIGTABLE AND CFFT_F32_32)
14 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
15 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
16endif()
17
18if (CONFIGTABLE AND CFFT_F32_64)
19 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
20 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
21endif()
22
23if (CONFIGTABLE AND CFFT_F32_128)
24 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
25 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
26endif()
27
28if (CONFIGTABLE AND CFFT_F32_256)
29 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
30 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
31endif()
32
33if (CONFIGTABLE AND CFFT_F32_512)
34 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
35 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
36endif()
37
38if (CONFIGTABLE AND CFFT_F32_1024)
39 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
40 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
41endif()
42
43if (CONFIGTABLE AND CFFT_F32_2048)
44 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
45 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
46endif()
47
48if (CONFIGTABLE AND CFFT_F32_4096)
49 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
50 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_4096)
51endif()
52
FabKleinc9d4a4a2019-11-29 14:48:08 +010053
54#######################################
55#
56# CFFT F64
57#
58
59
60if (CONFIGTABLE AND CFFT_F64_16)
61 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
62 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
63endif()
64
65if (CONFIGTABLE AND CFFT_F64_32)
66 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
67 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
68endif()
69
70if (CONFIGTABLE AND CFFT_F64_64)
71 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
72 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
73endif()
74
75if (CONFIGTABLE AND CFFT_F64_128)
76 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
77 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
78endif()
79
80if (CONFIGTABLE AND CFFT_F64_256)
81 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
82 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
83endif()
84
85if (CONFIGTABLE AND CFFT_F64_512)
86 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
87 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
88endif()
89
90if (CONFIGTABLE AND CFFT_F64_1024)
91 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
92 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
93endif()
94
95if (CONFIGTABLE AND CFFT_F64_2048)
96 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
97 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
98endif()
99
100if (CONFIGTABLE AND CFFT_F64_4096)
101 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_4096)
102 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_4096)
103endif()
104
Christophe Favergeone0181322019-05-20 13:25:14 +0200105#######################################
106#
107# CFFT Q31
108#
109
110if (CONFIGTABLE AND CFFT_Q31_16)
111 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
112 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
113endif()
114
115if (CONFIGTABLE AND CFFT_Q31_32)
116 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
117 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
118endif()
119
120if (CONFIGTABLE AND CFFT_Q31_64)
121 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
122 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
123endif()
124
125if (CONFIGTABLE AND CFFT_Q31_128)
126 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
127 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
128endif()
129
130if (CONFIGTABLE AND CFFT_Q31_256)
131 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
132 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
133endif()
134
135if (CONFIGTABLE AND CFFT_Q31_512)
136 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
137 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
138endif()
139
140if (CONFIGTABLE AND CFFT_Q31_1024)
141 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
142 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
143endif()
144
145if (CONFIGTABLE AND CFFT_Q31_2048)
146 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
147 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
148endif()
149
150if (CONFIGTABLE AND CFFT_Q31_4096)
151 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
152 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
153endif()
154
155#######################################
156#
157# CFFT Q15
158#
159
160if (CONFIGTABLE AND CFFT_Q15_16)
161 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
162 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
163endif()
164
165if (CONFIGTABLE AND CFFT_Q15_32)
166 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
167 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
168endif()
169
170if (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)
173endif()
174
175if (CONFIGTABLE AND CFFT_Q15_128)
176 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
177 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
178endif()
179
180if (CONFIGTABLE AND CFFT_Q15_256)
181 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
182 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
183endif()
184
185if (CONFIGTABLE AND CFFT_Q15_512)
186 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
187 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
188endif()
189
190if (CONFIGTABLE AND CFFT_Q15_1024)
191 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
192 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
193endif()
194
195if (CONFIGTABLE AND CFFT_Q15_2048)
196 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
197 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
198endif()
199
200if (CONFIGTABLE AND CFFT_Q15_4096)
201 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
202 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
203endif()
204
205#######################################
206#
FabKleinc9d4a4a2019-11-29 14:48:08 +0100207# RFFT FAST F64
208#
209
210if (CONFIGTABLE AND RFFT_FAST_F64_32)
211 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
212 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_16)
213 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_32)
214 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_16)
215endif()
216
217if (CONFIGTABLE AND RFFT_FAST_F64_64)
218 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
219 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_32)
220 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_64)
221 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_32)
222endif()
223
224if (CONFIGTABLE AND RFFT_FAST_F64_128)
225 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
226 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_64)
227 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_128)
228 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_64)
229endif()
230
231if (CONFIGTABLE AND RFFT_FAST_F64_256)
232 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
233 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_128)
234 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_256)
235 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_128)
236endif()
237
238if (CONFIGTABLE AND RFFT_FAST_F64_512)
239 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
240 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_256)
241 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_512)
242 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_256)
243endif()
244
245if (CONFIGTABLE AND RFFT_FAST_F64_1024)
246 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
247 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_512)
248 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_1024)
249 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_512)
250endif()
251
252if (CONFIGTABLE AND RFFT_FAST_F64_2048)
253 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
254 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_1024)
255 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_2048)
256 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_1024)
257endif()
258
259if (CONFIGTABLE AND RFFT_FAST_F64_4096)
260 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
261 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT64_2048)
262 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F64_4096)
263 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F64_2048)
264endif()
265
266#######################################
267#
Christophe Favergeone0181322019-05-20 13:25:14 +0200268# RFFT FAST F32
269#
270
271if (CONFIGTABLE AND RFFT_FAST_F32_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100272 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
273 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_16)
274 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_32)
275 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_16)
Christophe Favergeone0181322019-05-20 13:25:14 +0200276endif()
277
278if (CONFIGTABLE AND RFFT_FAST_F32_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100279 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
280 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_32)
281 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_64)
282 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200283endif()
284
285if (CONFIGTABLE AND RFFT_FAST_F32_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100286 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
287 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_64)
288 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_128)
289 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_64)
Christophe Favergeone0181322019-05-20 13:25:14 +0200290endif()
291
292if (CONFIGTABLE AND RFFT_FAST_F32_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100293 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
294 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_128)
Christophe Favergeone0181322019-05-20 13:25:14 +0200295 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100296 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_128)
Christophe Favergeone0181322019-05-20 13:25:14 +0200297endif()
298
299if (CONFIGTABLE AND RFFT_FAST_F32_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100300 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
301 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_256)
302 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_512)
303 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_256)
Christophe Favergeone0181322019-05-20 13:25:14 +0200304endif()
305
306if (CONFIGTABLE AND RFFT_FAST_F32_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100307 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
308 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_512)
309 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_1024)
310 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200311endif()
312
313if (CONFIGTABLE AND RFFT_FAST_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100314 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
315 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_1024)
316 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_2048)
317 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200318endif()
319
320if (CONFIGTABLE AND RFFT_FAST_F32_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100321 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
322 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FLT_2048)
323 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096)
324 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_2048)
Christophe Favergeone0181322019-05-20 13:25:14 +0200325endif()
326
327#######################################
328#
329# RFFT F32
330#
331
332if (CONFIGTABLE AND RFFT_F32_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100333 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200334 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100335 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
336 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200337endif()
338
339if (CONFIGTABLE AND RFFT_F32_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100340 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200341 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100342 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
343 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200344endif()
345
346if (CONFIGTABLE AND RFFT_F32_128)
347 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
348 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100349 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
350 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200351endif()
352
353if (CONFIGTABLE AND RFFT_F32_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100354 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200355 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100356 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
357 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200358endif()
359
360if (CONFIGTABLE AND RFFT_F32_512)
361 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
362 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100363 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
364 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200365endif()
366
367if (CONFIGTABLE AND RFFT_F32_1024)
368 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
369 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100370 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
371 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200372endif()
373
374if (CONFIGTABLE AND RFFT_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100375 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200376 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100377 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
378 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200379endif()
380
381if (CONFIGTABLE AND RFFT_F32_4096)
382 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
383 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100384 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
385 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200386endif()
387
388if (CONFIGTABLE AND RFFT_F32_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100389 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200390 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100391 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
392 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200393endif()
394
395#######################################
396#
397# RFFT Q31
398#
399
400if (CONFIGTABLE AND RFFT_Q31_32)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100401 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200402 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_16)
403 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
404endif()
405
406if (CONFIGTABLE AND RFFT_Q31_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100407 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200408 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_32)
409 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
410endif()
411
412if (CONFIGTABLE AND RFFT_Q31_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100413 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200414 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_64)
415 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
416endif()
417
418if (CONFIGTABLE AND RFFT_Q31_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100419 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200420 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_128)
421 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
422endif()
423
424if (CONFIGTABLE AND RFFT_Q31_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100425 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200426 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_256)
427 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
428endif()
429
430if (CONFIGTABLE AND RFFT_Q31_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100431 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200432 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_512)
433 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
434endif()
435
436if (CONFIGTABLE AND RFFT_Q31_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100437 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200438 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_1024)
439 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
440endif()
441
442if (CONFIGTABLE AND RFFT_Q31_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100443 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200444 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_2048)
445 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
446endif()
447
448if (CONFIGTABLE AND RFFT_Q31_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100449 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200450 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
451 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
452endif()
453
454#######################################
455#
456# RFFT FAST Q15
457#
458
459if (CONFIGTABLE AND RFFT_Q15_32)
460 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
461 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_16)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100462 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_16)
Christophe Favergeone0181322019-05-20 13:25:14 +0200463endif()
464
465if (CONFIGTABLE AND RFFT_Q15_64)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100466 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200467 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_32)
468 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_32)
469endif()
470
471if (CONFIGTABLE AND RFFT_Q15_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100472 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200473 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_64)
474 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_64)
475endif()
476
477if (CONFIGTABLE AND RFFT_Q15_256)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100478 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200479 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_128)
480 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_128)
481endif()
482
483if (CONFIGTABLE AND RFFT_Q15_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100484 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200485 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_256)
486 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_256)
487endif()
488
489if (CONFIGTABLE AND RFFT_Q15_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100490 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200491 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_512)
492 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_512)
493endif()
494
495if (CONFIGTABLE AND RFFT_Q15_2048)
496 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
497 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_1024)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100498 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200499endif()
500
501if (CONFIGTABLE AND RFFT_Q15_4096)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100502 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200503 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_2048)
504 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_2048)
505endif()
506
507if (CONFIGTABLE AND RFFT_Q15_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100508 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200509 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
510 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREVIDX_FXT_4096)
511endif()
512
513#######################################
514#
515# DCT4 F32
516#
517
518if (CONFIGTABLE AND DCT4_F32_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100519 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_128)
520 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200521
522 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100523 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200524 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
525endif()
526
527if (CONFIGTABLE AND DCT4_F32_512)
528 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100529 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200530
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 DCT4_F32_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100537 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_2048)
538 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200539
540 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100541 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200542 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
543endif()
544
545if (CONFIGTABLE AND DCT4_F32_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100546 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_F32_8192)
547 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_F32)
Christophe Favergeone0181322019-05-20 13:25:14 +0200548
549 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100550 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200551 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096)
552endif()
553
554#######################################
555#
556# DCT4 Q31
557#
558
559if (CONFIGTABLE AND DCT4_Q31_128)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100560 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_128)
561 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200562
563 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100564 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200565 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
566endif()
567
FabKleinc9d4a4a2019-11-29 14:48:08 +0100568if (CONFIGTABLE AND DCT4_Q31_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200569 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_512)
570 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
571
572 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100573 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
574 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200575endif()
576
577if (CONFIGTABLE AND DCT4_Q31_2048)
578 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100579 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200580
581 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100582 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200583 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
584endif()
585
586if (CONFIGTABLE AND DCT4_Q31_8192)
587 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q31_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100588 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q31)
Christophe Favergeone0181322019-05-20 13:25:14 +0200589
590 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100591 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
592 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096)
Christophe Favergeone0181322019-05-20 13:25:14 +0200593endif()
594
595#######################################
596#
597# DCT4 Q15
598#
599
FabKleinc9d4a4a2019-11-29 14:48:08 +0100600if (CONFIGTABLE AND DCT4_Q15_128)
601 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_128)
602 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200603
604 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100605 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200606 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
607endif()
608
FabKleinc9d4a4a2019-11-29 14:48:08 +0100609if (CONFIGTABLE AND DCT4_Q15_512)
Christophe Favergeone0181322019-05-20 13:25:14 +0200610 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_512)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100611 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
Christophe Favergeone0181322019-05-20 13:25:14 +0200612
613 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100614 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200615 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
616endif()
617
618if (CONFIGTABLE AND DCT4_Q15_2048)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100619 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_2048)
Christophe Favergeone0181322019-05-20 13:25:14 +0200620 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
621
622 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100623 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200624 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
625endif()
626
627if (CONFIGTABLE AND DCT4_Q15_8192)
FabKleinc9d4a4a2019-11-29 14:48:08 +0100628 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_DCT4_Q15_8192)
Christophe Favergeone0181322019-05-20 13:25:14 +0200629 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_REALCOEF_Q15)
630
631 # For cfft_radix4_init
FabKleinc9d4a4a2019-11-29 14:48:08 +0100632 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_BITREV_1024)
Christophe Favergeone0181322019-05-20 13:25:14 +0200633 target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096)
634endif()
635
636endfunction()