Mercurial > hg > qm-dsp
annotate ext/kissfft/tools/kiss_fftndr.h @ 416:1f3244a6884c
Add filter test
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Wed, 07 Oct 2015 10:07:30 +0100 |
parents | 1f1999b0f577 |
children |
rev | line source |
---|---|
c@409 | 1 #ifndef KISS_NDR_H |
c@409 | 2 #define KISS_NDR_H |
c@409 | 3 |
c@409 | 4 #include "kiss_fft.h" |
c@409 | 5 #include "kiss_fftr.h" |
c@409 | 6 #include "kiss_fftnd.h" |
c@409 | 7 |
c@409 | 8 #ifdef __cplusplus |
c@409 | 9 extern "C" { |
c@409 | 10 #endif |
c@409 | 11 |
c@409 | 12 typedef struct kiss_fftndr_state *kiss_fftndr_cfg; |
c@409 | 13 |
c@409 | 14 |
c@409 | 15 kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem); |
c@409 | 16 /* |
c@409 | 17 dims[0] must be even |
c@409 | 18 |
c@409 | 19 If you don't care to allocate space, use mem = lenmem = NULL |
c@409 | 20 */ |
c@409 | 21 |
c@409 | 22 |
c@409 | 23 void kiss_fftndr( |
c@409 | 24 kiss_fftndr_cfg cfg, |
c@409 | 25 const kiss_fft_scalar *timedata, |
c@409 | 26 kiss_fft_cpx *freqdata); |
c@409 | 27 /* |
c@409 | 28 input timedata has dims[0] X dims[1] X ... X dims[ndims-1] scalar points |
c@409 | 29 output freqdata has dims[0] X dims[1] X ... X dims[ndims-1]/2+1 complex points |
c@409 | 30 */ |
c@409 | 31 |
c@409 | 32 void kiss_fftndri( |
c@409 | 33 kiss_fftndr_cfg cfg, |
c@409 | 34 const kiss_fft_cpx *freqdata, |
c@409 | 35 kiss_fft_scalar *timedata); |
c@409 | 36 /* |
c@409 | 37 input and output dimensions are the exact opposite of kiss_fftndr |
c@409 | 38 */ |
c@409 | 39 |
c@409 | 40 |
c@409 | 41 #define kiss_fftr_free free |
c@409 | 42 |
c@409 | 43 #ifdef __cplusplus |
c@409 | 44 } |
c@409 | 45 #endif |
c@409 | 46 |
c@409 | 47 #endif |