kfc.h

Go to the documentation of this file.
00001 #ifndef KFC_H
00002 #define KFC_H
00003 #include "kiss_fft.h"
00004 
00005 #ifdef __cplusplus
00006 extern "C" {
00007 #endif
00008 
00009 /*
00010 KFC -- Kiss FFT Cache
00011 
00012 Not needing to deal with kiss_fft_alloc and a config 
00013 object may be handy for a lot of programs.
00014 
00015 KFC uses the underlying KISS FFT functions, but caches the config object. 
00016 The first time kfc_fft or kfc_ifft for a given FFT size, the cfg 
00017 object is created for it.  All subsequent calls use the cached 
00018 configuration object.
00019 
00020 NOTE:
00021 You should probably not use this if your program will be using a lot 
00022 of various sizes of FFTs.  There is a linear search through the
00023 cached objects.  If you are only using one or two FFT sizes, this
00024 will be negligible. Otherwise, you may want to use another method 
00025 of managing the cfg objects.
00026  
00027  There is no automated cleanup of the cached objects.  This could lead 
00028 to large memory usage in a program that uses a lot of *DIFFERENT* 
00029 sized FFTs.  If you want to force all cached cfg objects to be freed,
00030 call kfc_cleanup.
00031  
00032  */
00033 
00034 /*forward complex FFT */
00035 void kfc_fft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
00036 /*reverse complex FFT */
00037 void kfc_ifft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
00038 
00039 /*free all cached objects*/
00040 void kfc_cleanup(void);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 
00046 #endif

Generated on Thu Sep 17 23:14:16 2009 for CSL by  doxygen 1.5.8