22{
23 int i;
25 size_t subsize = 0, memneeded;
26
27 if (nfft & 1) {
28 fprintf(stderr,"Real FFT optimization must be even.\n");
29 return NULL;
30 }
31 nfft >>= 1;
32
35
36 if (lenmem == NULL) {
38 } else {
39 if (*lenmem >= memneeded)
41 *lenmem = memneeded;
42 }
43 if (!st)
44 return NULL;
45
47
48 #pragma GCC diagnostic push
49 #pragma GCC diagnostic ignored "-Wcast-align"
50
52 #pragma GCC diagnostic pop
53
56
57 for (i = 0; i < nfft/2; ++i) {
58 double phase =
59 -3.14159265358979323846264338327 * ((double) (i+1) / nfft + .5);
60 if (inverse_fft)
61 phase *= -1;
63 }
64 return st;
65}
#define kf_cexp(x, phase)
kiss_fft_cfg kiss_fft_alloc(int nfft, int inverse_fft, void *mem, size_t *lenmem)
struct kiss_fft_state * kiss_fft_cfg
kiss_fft_cpx * super_twiddles
struct kiss_fftr_state * kiss_fftr_cfg