Mercurial > hg > peckfft
changeset 3:3b31bd44a09f
cleanup
author | Peter Meerwald <p.meerwald@bct-electronic.com> |
---|---|
date | Fri, 16 Sep 2011 13:08:20 +0200 |
parents | 3d08140650d8 |
children | 2d6c49fcafcb |
files | peck_fft.h peck_fftr.c |
diffstat | 2 files changed, 22 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/peck_fft.h Fri Sep 16 13:02:34 2011 +0200 +++ b/peck_fft.h Fri Sep 16 13:08:20 2011 +0200 @@ -43,16 +43,16 @@ typedef struct peck_fft_state* peck_fft_cfg; /* - * peck_fft_alloc + * peck_fft_alloc() * - * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. + * Initialize a FFT (or IFFT) algorithm's cfg buffer. * - * typical usage: peck_fft_cfg mycfg=peck_fft_alloc(1024,0,NULL,NULL); + * typical usage: peck_fft_cfg mycfg = peck_fft_alloc(1024, 0, NULL, NULL); * - * The return value from fft_alloc is a cfg buffer used internally - * by the fft routine or NULL. + * The return value from fft_alloc() is a cfg buffer used internally + * by the FFT routine or NULL. * - * If lenmem is NULL, then peck_fft_alloc will allocate a cfg buffer using malloc. + * If lenmem is NULL, then peck_fft_alloc() will allocate a cfg buffer using malloc. * The returned value should be free()d when done to avoid memory leaks. * * The state can be placed in a user supplied buffer 'mem': @@ -63,46 +63,41 @@ * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), * then the function returns NULL and places the minimum cfg * buffer size in *lenmem. - * */ + */ peck_fft_cfg peck_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); /* - * peck_fft(cfg,in_out_buf) + * peck_fft(cfg, in_buf, out_buf) * * Perform an FFT on a complex input buffer. - * for a forward FFT, - * fin should be f[0] , f[1] , ... ,f[nfft-1] - * fout will be F[0] , F[1] , ... ,F[nfft-1] + * For a forward FFT, + * fin should be f[0], f[1], ... , f[nfft-1] + * fout will be F[0], F[1], ... , F[nfft-1] * Note that each element is complex and can be accessed like - f[k].r and f[k].i - * */ -void peck_fft(peck_fft_cfg cfg,const peck_fft_cpx *fin,peck_fft_cpx *fout); - -/* - A more generic version of the above function. It reads its input from every Nth sample. - * */ -void peck_fft_stride(peck_fft_cfg cfg,const peck_fft_cpx *fin,peck_fft_cpx *fout,int fin_stride); + * f[k].r and f[k].i + */ +void peck_fft(peck_fft_cfg cfg, const peck_fft_cpx *fin, peck_fft_cpx *fout); /* If peck_fft_alloc allocated a buffer, it is one contiguous - buffer and can be simply free()d when no longer needed*/ + * buffer and can be simply free()d when no longer needed + */ #define peck_fft_free free /* - Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up - your compiler output to call this before you exit. -*/ + * Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up + * your compiler output to call this before you exit. + */ void peck_fft_cleanup(void); - /* - * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5) + * Returns the smallest integer k, such that k>=n and k has only 'fast' factors (2,3,5) */ int peck_fft_next_fast_size(int n); /* for real ffts, we need an even size */ #define peck_fftr_next_fast_size_real(n) \ - (peck_fft_next_fast_size( ((n)+1)>>1)<<1) + (peck_fft_next_fast_size(((n)+1) >> 1) << 1) #ifdef __cplusplus }