Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0

comment "Components"

config CMSIS_DSP_BASICMATH
	bool "Basic Math Functions"
	default y
	help
	  This option enables the Basic Math Functions, which support the
	  following operations:

	  * Vector Addition
	  * Vector Subtraction
	  * Vector Multiplication
	  * Vector Dot Product
	  * Vector Absolute Value
	  * Vector Negate
	  * Vector Offset
	  * Vector Scale
	  * Vector Shift
	  * Vector Bitwise AND
	  * Vector Bitwise OR
	  * Vector Bitwise Exclusive OR
	  * Vector Bitwise NOT

config CMSIS_DSP_COMPLEXMATH
	bool "Complex Math Functions"
	imply CMSIS_DSP_FASTMATH
	help
	  This option enables the Complex Math Functions, which support the
	  following operations:

	  * Complex-by-Complex Multiplication
	  * Complex-by-Real Multiplication
	  * Complex Dot Product
	  * Complex Magnitude
	  * Complex Magnitude Squared
	  * Complex Conjugate

config CMSIS_DSP_CONTROLLER
	bool "Controller Functions"
	help
	  This option enables the Controller Functions, which support the
	  following operations:

	  * PID Control
	  * Vector Clarke Transform
	  * Vector Inverse Clarke Transform
	  * Vector Park Transform
	  * Vector Inverse Park Transform
	  * Sine-Cosine

	  These functions can be used to implement a generic PID controller, as
	  well as field oriented motor control using Space Vector Modulation
	  algorithm.

config CMSIS_DSP_FASTMATH
	bool "Fast Math Functions"
	select CMSIS_DSP_TABLES
	imply CMSIS_DSP_TABLES_ALL_FAST
	help
	  This option enables the Fast Math Functions, which support the
	  following operations:

	  * Sine
	  * Cosine
	  * Square Root

config CMSIS_DSP_FILTERING
	bool "Filtering Functions"
	help
	  This option enables the Filtering Functions, which support the
	  following operations:

	  * Convolution
	  * Partial Convolution
	  * Correlation

	  The following filter types are supported:

	  * FIR (finite impulse response) Filter
	  * FIR Lattice Filter
	  * FIR Sparse Filter
	  * FIR Filter with Decimator
	  * FIR Filter with Interpolator
	  * IIR (infinite impulse response) Lattice Filter
	  * Biquad Cascade IIR Filter, Direct Form I Structure
	  * Biquad Cascade IIR Filter, Direct Form II Transposed Structure
	  * High Precision Q31 Biquad Cascade Filter
	  * LMS (least mean square) Filter
	  * Normalized LMS Filter

config CMSIS_DSP_MATRIX
	bool "Matrix Functions"
	help
	  This option enables the Matrix Functions, which support the following
	  operations:

	  * Matrix Initialization
	  * Matrix Addition
	  * Matrix Subtraction
	  * Matrix Multiplication
	  * Complex Matrix Multiplication
	  * Matrix Inverse
	  * Matrix Scale
	  * Matrix Transpose

config CMSIS_DSP_STATISTICS
	bool "Statistics Functions"
	imply CMSIS_DSP_BASICMATH
	imply CMSIS_DSP_FASTMATH
	help
	  This option enables the Statistics Functions, which support the
	  following operations:

	  * Minimum
	  * Maximum
	  * Mean
	  * Root Mean Square (RMS)
	  * Variance
	  * Standard Deviation
	  * Power

config CMSIS_DSP_SUPPORT
	bool "Support Functions"
	help
	  This option enables the Support Functions, which support the
	  following operations:

	  * Vector 8-bit Integer Value Conversion
	  * Vector 16-bit Integer Value Conversion
	  * Vector 32-bit Integer Value Conversion
	  * Vector 32-bit Floating-Point Value Conversion
	  * Vector Copy
	  * Vector Fill
	  * Vector Sorting
	  * Cubic Spline Interpolation

config CMSIS_DSP_TRANSFORM
	bool "Transform Functions"
	select CMSIS_DSP_TABLES
	imply CMSIS_DSP_TABLES_ALL_FFT
	help
	  This option enables the Transform Functions, which support the
	  following transformations:

	  * Real Fast Fourier Transform (RFFT)
	  * Complex Fast Fourier Transform (CFFT)
	  * Type IV Discrete Cosine Transform (DCT4)

config CMSIS_DSP_SVM
	bool "Support Vector Machine Functions"
	help
	  This option enables the Support Vector Machine Functions, which
	  support the following algorithms:

	  * Linear
	  * Polynomial
	  * Sigmoid
	  * Radial Basis Function (RBF)

config CMSIS_DSP_BAYES
	bool "Bayesian Estimators"
	imply CMSIS_DSP_STATISTICS
	help
	  This option enables the Bayesian Estimator Functions, which
	  implements the naive gaussian Bayes estimator.

config CMSIS_DSP_DISTANCE
	bool "Distance Functions"
	imply CMSIS_DSP_STATISTICS
	help
	  This option enables the Distance Functions, which support the
	  following distance computation algorithms:

	  * Boolean Vectors
	    * Hamming
	    * Jaccard
	    * Kulsinski
	    * Rogers-Tanimoto
	    * Russell-Rao
	    * Sokal-Michener
	    * Sokal-Sneath
	    * Yule
	    * Dice

	  * Floating-Point Vectors
	    * Canberra
	    * Chebyshev
	    * Cityblock
	    * Correlation
	    * Cosine
	    * Euclidean
	    * Jensen-Shannon
	    * Minkowski
	    * Bray-Curtis

menuconfig CMSIS_DSP_TABLES
	bool "Look-up Tables"
	help
	  This option enables the static look-up tables used by the DSP
	  functions to compute results.

if CMSIS_DSP_TABLES

config CMSIS_DSP_TABLES_ALL_FAST
	bool "Include all fast interpolation tables"
	select CMSIS_DSP_TABLES_ARM_COS_F32
	select CMSIS_DSP_TABLES_ARM_COS_Q31
	select CMSIS_DSP_TABLES_ARM_COS_Q15
	select CMSIS_DSP_TABLES_ARM_SIN_F32
	select CMSIS_DSP_TABLES_ARM_SIN_Q31
	select CMSIS_DSP_TABLES_ARM_SIN_Q15
	select CMSIS_DSP_TABLES_ARM_SIN_COS_F32
	select CMSIS_DSP_TABLES_ARM_SIN_COS_Q31
	select CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31
	select CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15
	select CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31
	select CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15

config CMSIS_DSP_TABLES_ALL_FFT
	bool "Include all FFT tables"
	select CMSIS_DSP_TABLES_CFFT_F64_16
	select CMSIS_DSP_TABLES_CFFT_F64_32
	select CMSIS_DSP_TABLES_CFFT_F64_64
	select CMSIS_DSP_TABLES_CFFT_F64_128
	select CMSIS_DSP_TABLES_CFFT_F64_256
	select CMSIS_DSP_TABLES_CFFT_F64_512
	select CMSIS_DSP_TABLES_CFFT_F64_1024
	select CMSIS_DSP_TABLES_CFFT_F64_2048
	select CMSIS_DSP_TABLES_CFFT_F64_4096
	select CMSIS_DSP_TABLES_CFFT_F32_16
	select CMSIS_DSP_TABLES_CFFT_F32_32
	select CMSIS_DSP_TABLES_CFFT_F32_64
	select CMSIS_DSP_TABLES_CFFT_F32_128
	select CMSIS_DSP_TABLES_CFFT_F32_256
	select CMSIS_DSP_TABLES_CFFT_F32_512
	select CMSIS_DSP_TABLES_CFFT_F32_1024
	select CMSIS_DSP_TABLES_CFFT_F32_2048
	select CMSIS_DSP_TABLES_CFFT_F32_4096
	select CMSIS_DSP_TABLES_CFFT_Q31_16
	select CMSIS_DSP_TABLES_CFFT_Q31_32
	select CMSIS_DSP_TABLES_CFFT_Q31_64
	select CMSIS_DSP_TABLES_CFFT_Q31_128
	select CMSIS_DSP_TABLES_CFFT_Q31_256
	select CMSIS_DSP_TABLES_CFFT_Q31_512
	select CMSIS_DSP_TABLES_CFFT_Q31_1024
	select CMSIS_DSP_TABLES_CFFT_Q31_2048
	select CMSIS_DSP_TABLES_CFFT_Q31_4096
	select CMSIS_DSP_TABLES_CFFT_Q15_16
	select CMSIS_DSP_TABLES_CFFT_Q15_32
	select CMSIS_DSP_TABLES_CFFT_Q15_64
	select CMSIS_DSP_TABLES_CFFT_Q15_128
	select CMSIS_DSP_TABLES_CFFT_Q15_256
	select CMSIS_DSP_TABLES_CFFT_Q15_512
	select CMSIS_DSP_TABLES_CFFT_Q15_1024
	select CMSIS_DSP_TABLES_CFFT_Q15_2048
	select CMSIS_DSP_TABLES_CFFT_Q15_4096
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_32
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_64
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_128
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_256
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_512
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_1024
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_2048
	select CMSIS_DSP_TABLES_RFFT_FAST_F64_4096
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_32
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_64
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_128
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_256
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_512
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_1024
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_2048
	select CMSIS_DSP_TABLES_RFFT_FAST_F32_4096
	select CMSIS_DSP_TABLES_RFFT_F64_128
	select CMSIS_DSP_TABLES_RFFT_F64_512
	select CMSIS_DSP_TABLES_RFFT_F64_2048
	select CMSIS_DSP_TABLES_RFFT_F64_8192
	select CMSIS_DSP_TABLES_RFFT_F32_128
	select CMSIS_DSP_TABLES_RFFT_F32_512
	select CMSIS_DSP_TABLES_RFFT_F32_2048
	select CMSIS_DSP_TABLES_RFFT_F32_8192
	select CMSIS_DSP_TABLES_RFFT_Q31_32
	select CMSIS_DSP_TABLES_RFFT_Q31_64
	select CMSIS_DSP_TABLES_RFFT_Q31_128
	select CMSIS_DSP_TABLES_RFFT_Q31_256
	select CMSIS_DSP_TABLES_RFFT_Q31_512
	select CMSIS_DSP_TABLES_RFFT_Q31_1024
	select CMSIS_DSP_TABLES_RFFT_Q31_2048
	select CMSIS_DSP_TABLES_RFFT_Q31_4096
	select CMSIS_DSP_TABLES_RFFT_Q31_8192
	select CMSIS_DSP_TABLES_RFFT_Q15_32
	select CMSIS_DSP_TABLES_RFFT_Q15_64
	select CMSIS_DSP_TABLES_RFFT_Q15_128
	select CMSIS_DSP_TABLES_RFFT_Q15_256
	select CMSIS_DSP_TABLES_RFFT_Q15_512
	select CMSIS_DSP_TABLES_RFFT_Q15_1024
	select CMSIS_DSP_TABLES_RFFT_Q15_2048
	select CMSIS_DSP_TABLES_RFFT_Q15_4096
	select CMSIS_DSP_TABLES_RFFT_Q15_8192
	select CMSIS_DSP_TABLES_DCT4_F32_128
	select CMSIS_DSP_TABLES_DCT4_F32_512
	select CMSIS_DSP_TABLES_DCT4_F32_2048
	select CMSIS_DSP_TABLES_DCT4_F32_8192
	select CMSIS_DSP_TABLES_DCT4_Q31_128
	select CMSIS_DSP_TABLES_DCT4_Q31_512
	select CMSIS_DSP_TABLES_DCT4_Q31_2048
	select CMSIS_DSP_TABLES_DCT4_Q31_8192
	select CMSIS_DSP_TABLES_DCT4_Q15_128
	select CMSIS_DSP_TABLES_DCT4_Q15_512
	select CMSIS_DSP_TABLES_DCT4_Q15_2048
	select CMSIS_DSP_TABLES_DCT4_Q15_8192

comment "Interpolation Tables"

config CMSIS_DSP_TABLES_ARM_COS_F32
	bool "cos f32"

config CMSIS_DSP_TABLES_ARM_COS_Q31
	bool "cos q31"

config CMSIS_DSP_TABLES_ARM_COS_Q15
	bool "cos q15"

config CMSIS_DSP_TABLES_ARM_SIN_F32
	bool "sin f32"

config CMSIS_DSP_TABLES_ARM_SIN_Q31
	bool "sin q31"

config CMSIS_DSP_TABLES_ARM_SIN_Q15
	bool "sin q15"

config CMSIS_DSP_TABLES_ARM_SIN_COS_F32
	bool "sin cos f32"

config CMSIS_DSP_TABLES_ARM_SIN_COS_Q31
	bool "sin cos q31"

config CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31
	bool "lms norm q31"

config CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15
	bool "lms norm q15"

config CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31
	bool "cmplx mag q31"

config CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15
	bool "cmplx mag q15"

comment "Transformation Tables"

config CMSIS_DSP_TABLES_CFFT_F64_16
	bool "cfft f64 16"

config CMSIS_DSP_TABLES_CFFT_F64_32
	bool "cfft f64 32"

config CMSIS_DSP_TABLES_CFFT_F64_64
	bool "cfft f64 64"

config CMSIS_DSP_TABLES_CFFT_F64_128
	bool "cfft f64 128"

config CMSIS_DSP_TABLES_CFFT_F64_256
	bool "cfft f64 256"

config CMSIS_DSP_TABLES_CFFT_F64_512
	bool "cfft f64 512"

config CMSIS_DSP_TABLES_CFFT_F64_1024
	bool "cfft f64 1024"

config CMSIS_DSP_TABLES_CFFT_F64_2048
	bool "cfft f64 2048"

config CMSIS_DSP_TABLES_CFFT_F64_4096
	bool "cfft f64 4096"

config CMSIS_DSP_TABLES_CFFT_F32_16
	bool "cfft f32 16"

config CMSIS_DSP_TABLES_CFFT_F32_32
	bool "cfft f32 32"

config CMSIS_DSP_TABLES_CFFT_F32_64
	bool "cfft f32 64"

config CMSIS_DSP_TABLES_CFFT_F32_128
	bool "cfft f32 128"

config CMSIS_DSP_TABLES_CFFT_F32_256
	bool "cfft f32 256"

config CMSIS_DSP_TABLES_CFFT_F32_512
	bool "cfft f32 512"

config CMSIS_DSP_TABLES_CFFT_F32_1024
	bool "cfft f32 1024"

config CMSIS_DSP_TABLES_CFFT_F32_2048
	bool "cfft f32 2048"

config CMSIS_DSP_TABLES_CFFT_F32_4096
	bool "cfft f32 4096"

config CMSIS_DSP_TABLES_CFFT_Q31_16
	bool "cfft q31 16"

config CMSIS_DSP_TABLES_CFFT_Q31_32
	bool "cfft q31 32"

config CMSIS_DSP_TABLES_CFFT_Q31_64
	bool "cfft q31 64"

config CMSIS_DSP_TABLES_CFFT_Q31_128
	bool "cfft q31 128"

config CMSIS_DSP_TABLES_CFFT_Q31_256
	bool "cfft q31 256"

config CMSIS_DSP_TABLES_CFFT_Q31_512
	bool "cfft q31 512"

config CMSIS_DSP_TABLES_CFFT_Q31_1024
	bool "cfft q31 1024"

config CMSIS_DSP_TABLES_CFFT_Q31_2048
	bool "cfft q31 2048"

config CMSIS_DSP_TABLES_CFFT_Q31_4096
	bool "cfft q31 4096"

config CMSIS_DSP_TABLES_CFFT_Q15_16
	bool "cfft q15 16"

config CMSIS_DSP_TABLES_CFFT_Q15_32
	bool "cfft q15 32"

config CMSIS_DSP_TABLES_CFFT_Q15_64
	bool "cfft q15 64"

config CMSIS_DSP_TABLES_CFFT_Q15_128
	bool "cfft q15 128"

config CMSIS_DSP_TABLES_CFFT_Q15_256
	bool "cfft q15 256"

config CMSIS_DSP_TABLES_CFFT_Q15_512
	bool "cfft q15 512"

config CMSIS_DSP_TABLES_CFFT_Q15_1024
	bool "cfft q15 1024"

config CMSIS_DSP_TABLES_CFFT_Q15_2048
	bool "cfft q15 2048"

config CMSIS_DSP_TABLES_CFFT_Q15_4096
	bool "cfft q15 4096"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_32
	bool "rfft fast f64 32"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_64
	bool "rfft fast f64 64"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_128
	bool "rfft fast f64 128"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_256
	bool "rfft fast f64 256"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_512
	bool "rfft fast f64 512"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_1024
	bool "rfft fast f64 1024"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_2048
	bool "rfft fast f64 2048"

config CMSIS_DSP_TABLES_RFFT_FAST_F64_4096
	bool "rfft fast f64 4096"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_32
	bool "rfft fast f32 32"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_64
	bool "rfft fast f32 64"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_128
	bool "rfft fast f32 128"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_256
	bool "rfft fast f32 256"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_512
	bool "rfft fast f32 512"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_1024
	bool "rfft fast f32 1024"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_2048
	bool "rfft fast f32 2048"

config CMSIS_DSP_TABLES_RFFT_FAST_F32_4096
	bool "rfft fast f32 4096"

config CMSIS_DSP_TABLES_RFFT_F64_128
	bool "rfft f64 128"

config CMSIS_DSP_TABLES_RFFT_F64_512
	bool "rfft f64 512"

config CMSIS_DSP_TABLES_RFFT_F64_2048
	bool "rfft f64 2048"

config CMSIS_DSP_TABLES_RFFT_F64_8192
	bool "rfft f64 8192"

config CMSIS_DSP_TABLES_RFFT_F32_128
	bool "rfft f32 128"

config CMSIS_DSP_TABLES_RFFT_F32_512
	bool "rfft f32 512"

config CMSIS_DSP_TABLES_RFFT_F32_2048
	bool "rfft f32 2048"

config CMSIS_DSP_TABLES_RFFT_F32_8192
	bool "rfft f32 8192"

config CMSIS_DSP_TABLES_RFFT_Q31_32
	bool "rfft q31 32"

config CMSIS_DSP_TABLES_RFFT_Q31_64
	bool "rfft q31 64"

config CMSIS_DSP_TABLES_RFFT_Q31_128
	bool "rfft q31 128"

config CMSIS_DSP_TABLES_RFFT_Q31_256
	bool "rfft q31 256"

config CMSIS_DSP_TABLES_RFFT_Q31_512
	bool "rfft q31 512"

config CMSIS_DSP_TABLES_RFFT_Q31_1024
	bool "rfft q31 1024"

config CMSIS_DSP_TABLES_RFFT_Q31_2048
	bool "rfft q31 2048"

config CMSIS_DSP_TABLES_RFFT_Q31_4096
	bool "rfft q31 4096"

config CMSIS_DSP_TABLES_RFFT_Q31_8192
	bool "rfft q31 8192"

config CMSIS_DSP_TABLES_RFFT_Q15_32
	bool "rfft q15 32"

config CMSIS_DSP_TABLES_RFFT_Q15_64
	bool "rfft q15 64"

config CMSIS_DSP_TABLES_RFFT_Q15_128
	bool "rfft q15 128"

config CMSIS_DSP_TABLES_RFFT_Q15_256
	bool "rfft q15 256"

config CMSIS_DSP_TABLES_RFFT_Q15_512
	bool "rfft q15 512"

config CMSIS_DSP_TABLES_RFFT_Q15_1024
	bool "rfft q15 1024"

config CMSIS_DSP_TABLES_RFFT_Q15_2048
	bool "rfft q15 2048"

config CMSIS_DSP_TABLES_RFFT_Q15_4096
	bool "rfft q15 4096"

config CMSIS_DSP_TABLES_RFFT_Q15_8192
	bool "rfft q15 8192"

config CMSIS_DSP_TABLES_DCT4_F32_128
	bool "dct4 f32 128"

config CMSIS_DSP_TABLES_DCT4_F32_512
	bool "dct4 f32 512"

config CMSIS_DSP_TABLES_DCT4_F32_2048
	bool "dct4 f32 2048"

config CMSIS_DSP_TABLES_DCT4_F32_8192
	bool "dct4 f32 8192"

config CMSIS_DSP_TABLES_DCT4_Q31_128
	bool "dct4 q31 128"

config CMSIS_DSP_TABLES_DCT4_Q31_512
	bool "dct4 q31 512"

config CMSIS_DSP_TABLES_DCT4_Q31_2048
	bool "dct4 q31 2048"

config CMSIS_DSP_TABLES_DCT4_Q31_8192
	bool "dct4 q31 8192"

config CMSIS_DSP_TABLES_DCT4_Q15_128
	bool "dct4 q15 128"

config CMSIS_DSP_TABLES_DCT4_Q15_512
	bool "dct4 q15 512"

config CMSIS_DSP_TABLES_DCT4_Q15_2048
	bool "dct4 q15 2048"

config CMSIS_DSP_TABLES_DCT4_Q15_8192
	bool "dct4 q15 8192"

endif # CMSIS_DSP_TABLES

comment "Instruction Set"
# NOTE: These configurations should eventually be derived from the arch ISA and
#       FP support configurations.

config CMSIS_DSP_NEON
	bool "Neon Instruction Set"
	default y
	depends on CPU_CORTEX_A
	help
	  This option enables the NEON Advanced SIMD instruction set, which is
	  available on most Cortex-A and some Cortex-R processors.

# TODO: Activate Helium instruction set once Cortex-M55 support is in place.
# config CMSIS_DSP_HELIUM
#	bool "Helium Instruction Set"
#	depends on CPU_CORTEX_M
#	select CMSIS_DSP_MVEF
#	select CMSIS_DSP_MVEI
#	help
#	  This option enables the Helium M-Profile Vector Extension (MVE).
#
#	  Note that selecting this option implies the support for both MVE
#	  floating-point and integer instruction sets.

# config CMSIS_DSP_MVEF
#	bool "MVE-F Instructions"
#	depends on CPU_CORTEX_M
#	help
#	  This option enables the ARMv8.1-M M-Profile Vector Extension (MVE)
#	  floating-point instruction set.

# config CMSIS_DSP_MVEI
#	bool "MVE-I Instructions"
#	depends on CPU_CORTEX_M
#	help
#	  This option enables the ARMv8.1-M M-Profile Vector Extension (MVE)
#	  integer instruction set.

comment "Features"

config CMSIS_DSP_LOOPUNROLL
	bool "Loop Unrolling"
	help
	  This option enables manual loop unrolling in the DSP functions.

config CMSIS_DSP_ROUNDING
	bool "Rounding"
	help
	  This option enables rounding on the support functions.

config CMSIS_DSP_MATRIXCHECK
	bool "Matrix Check"
	help
	  This option enables validation of the input and output sizes of
	  matrices.

config CMSIS_DSP_AUTOVECTORIZE
	bool "Auto Vectorize"
	help
	  This option prefers autovectorizable code to one using C intrinsics
	  in the DSP functions.