annotate fft/kissfft/tools/kiss_fftr.h @ 40:223f770b5341 kissfft-double tip

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