XCORE SDK
XCORE Software Development Kit
floating_fft.h
1 // Copyright 2020-2021 XMOS LIMITED.
2 // This Software is subject to the terms of the XMOS Public Licence: Version 1.
3 
4 #pragma once
5 
6 #include "xs3_math.h"
7 
8 
12 EXTERN_C
13 unsigned flt_bitrev(
14  const unsigned index,
15  const size_t bit_width);
16 
20 EXTERN_C
21 void flt_bit_reverse_indexes_float(
22  complex_float_t a[],
23  const unsigned length);
24 
28 EXTERN_C
29 void flt_bit_reverse_indexes_double(
30  complex_double_t a[],
31  const unsigned length);
32 
36 EXTERN_C
37 void flt_make_sine_table_float(
38  float sine_lut[],
39  const unsigned N);
40 
44 EXTERN_C
45 void flt_make_sine_table_double(
46  double sine_lut[],
47  const unsigned N);
48 
52 EXTERN_C
53 void flt_fft_forward_float(
54  complex_float_t pts[],
55  const unsigned N,
56  const float sine_table[]);
57 
61 EXTERN_C
62 void flt_fft_forward_double(
63  complex_double_t pts[],
64  const unsigned N,
65  const double sine_table[]);
66 
70 EXTERN_C
71 void flt_fft_inverse_float(
72  complex_float_t pts[],
73  const unsigned N,
74  const float sine_table[]);
75 
79 EXTERN_C
80 void flt_fft_inverse_double(
81  complex_double_t pts[],
82  const unsigned N,
83  const double sine_table[]);
84 
88 EXTERN_C
89 void flt_fft_split_spectrum_float(
90  complex_float_t pts[],
91  const unsigned N);
92 
96 EXTERN_C
97 void flt_fft_split_spectrum_double(
98  complex_double_t pts[],
99  const unsigned N);
100 
104 EXTERN_C
105 void flt_fft_merge_spectra_float(
106  complex_float_t pts[],
107  const unsigned N);
108 
112 EXTERN_C
113 void flt_fft_merge_spectra_double(
114  complex_double_t pts[],
115  const unsigned N);
A complex number with a double-precision floating-point real part and a double-precision floating-poi...
Definition: xs3_math_types.h:409
[bfp_complex_s16_t]
Definition: xs3_math_types.h:397