comparison src/vamp-sdk/ext/kiss_fftr.h @ 434:e979a9c4ffb6 vampipe

Switch from Cross FFT with option of FFTW build, to KissFFT only (code bundled). This is much faster than the default build and simpler than managing two options.
author Chris Cannam
date Tue, 16 Aug 2016 16:04:09 +0100
parents
children 25e023bad200
comparison
equal deleted inserted replaced
432:8dea61e4a7be 434:e979a9c4ffb6
1 #ifndef KISS_FTR_H
2 #define KISS_FTR_H
3
4 #include "kiss_fft.h"
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9
10 /*
11
12 Real optimized version can save about 45% cpu time vs. complex fft of a real seq.
13
14
15
16 */
17
18 typedef struct kiss_fftr_state *kiss_fftr_cfg;
19
20
21 kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
22 /*
23 nfft must be even
24
25 If you don't care to allocate space, use mem = lenmem = NULL
26 */
27
28
29 void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
30 /*
31 input timedata has nfft scalar points
32 output freqdata has nfft/2+1 complex points
33 */
34
35 void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
36 /*
37 input freqdata has nfft/2+1 complex points
38 output timedata has nfft scalar points
39 */
40
41 #define kiss_fftr_free free
42
43 #ifdef __cplusplus
44 }
45 #endif
46 #endif