vrshoot

annotate libs/kissfft/kiss_fftr.h @ 0:b2f14e535253

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