Mercurial > hg > vamp-plugin-sdk
comparison src/vamp-sdk/ext/kiss_fftr.h @ 460:b409560a805b
Merge from branch vampipe
author | Chris Cannam |
---|---|
date | Mon, 10 Oct 2016 15:48:35 +0100 |
parents | e979a9c4ffb6 |
children | 25e023bad200 |
comparison
equal
deleted
inserted
replaced
442:4101e3f80aa0 | 460:b409560a805b |
---|---|
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 |