annotate ext/kissfft/tools/kiss_fftr.h @ 215:eee235c4f962 msvc

Merge
author Chris Cannam
date Tue, 06 Feb 2018 21:12:43 +0000
parents 76ec2365b250
children
rev   line source
Chris@184 1 #ifndef KISS_FTR_H
Chris@184 2 #define KISS_FTR_H
Chris@184 3
Chris@184 4 #include "kiss_fft.h"
Chris@184 5 #ifdef __cplusplus
Chris@184 6 extern "C" {
Chris@184 7 #endif
Chris@184 8
Chris@184 9
Chris@184 10 /*
Chris@184 11
Chris@184 12 Real optimized version can save about 45% cpu time vs. complex fft of a real seq.
Chris@184 13
Chris@184 14
Chris@184 15
Chris@184 16 */
Chris@184 17
Chris@184 18 typedef struct kiss_fftr_state *kiss_fftr_cfg;
Chris@184 19
Chris@184 20
Chris@184 21 kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
Chris@184 22 /*
Chris@184 23 nfft must be even
Chris@184 24
Chris@184 25 If you don't care to allocate space, use mem = lenmem = NULL
Chris@184 26 */
Chris@184 27
Chris@184 28
Chris@184 29 void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
Chris@184 30 /*
Chris@184 31 input timedata has nfft scalar points
Chris@184 32 output freqdata has nfft/2+1 complex points
Chris@184 33 */
Chris@184 34
Chris@184 35 void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
Chris@184 36 /*
Chris@184 37 input freqdata has nfft/2+1 complex points
Chris@184 38 output timedata has nfft scalar points
Chris@184 39 */
Chris@184 40
Chris@184 41 #define kiss_fftr_free free
Chris@184 42
Chris@184 43 #ifdef __cplusplus
Chris@184 44 }
Chris@184 45 #endif
Chris@184 46 #endif