Point Cloud Library (PCL)
1.7.0
|
00001 #ifndef KISS_FTR_H 00002 #define KISS_FTR_H 00003 00004 #include "kiss_fft.h" 00005 #ifdef __cplusplus 00006 extern "C" { 00007 #endif 00008 00009 00010 /* 00011 00012 Real optimized version can save about 45% cpu time vs. complex fft of a real seq. 00013 00014 00015 00016 */ 00017 00018 typedef struct kiss_fftr_state *kiss_fftr_cfg; 00019 00020 00021 kiss_fftr_cfg PCL_EXPORTS kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); 00022 /* 00023 nfft must be even 00024 00025 If you don't care to allocate space, use mem = lenmem = NULL 00026 */ 00027 00028 00029 void PCL_EXPORTS kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); 00030 /* 00031 input timedata has nfft scalar points 00032 output freqdata has nfft/2+1 complex points 00033 */ 00034 00035 void PCL_EXPORTS kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); 00036 /* 00037 input freqdata has nfft/2+1 complex points 00038 output timedata has nfft scalar points 00039 */ 00040 00041 #define kiss_fftr_free free 00042 00043 #ifdef __cplusplus 00044 } 00045 #endif 00046 #endif