198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#ifndef KISS_FTR_H 298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#define KISS_FTR_H 398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#include "kiss_fft.h" 598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#ifdef __cplusplus 698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectextern "C" { 798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#endif 898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 1198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project Real optimized version can save about 45% cpu time vs. complex fft of a real seq. 1398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project */ 1798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projecttypedef struct kiss_fftr_state *kiss_fftr_cfg; 1998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectkiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); 2298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 2398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project nfft must be even 2498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project If you don't care to allocate space, use mem = lenmem = NULL 2698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project*/ 2798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectvoid kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); 3098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 3198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project input timedata has nfft scalar points 3298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project output freqdata has nfft/2+1 complex points 3398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project*/ 3498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 3598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectvoid kiss_fftr2(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar *freqdata); 3698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 3798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectvoid kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); 3898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 3998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectvoid kiss_fftri2(kiss_fftr_cfg st,const kiss_fft_scalar *freqdata, kiss_fft_scalar *timedata); 4098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 4198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 4298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project input freqdata has nfft/2+1 complex points 4398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project output timedata has nfft scalar points 4498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project*/ 4598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 4698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#define kiss_fftr_free speex_free 4798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 4898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#ifdef __cplusplus 4998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project} 5098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#endif 5198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#endif 52