#include "kiss_fft.h" #include static double timesnap() { struct timeval tv; gettimeofday(&tv,NULL); return (double)tv.tv_sec + (double)tv.tv_usec/1000000; } void * kiss_fftr_alloc(int nfft,int inverse_fft); void kiss_fftr(const void * cfg,const kiss_fft_scalar *fin,kiss_fft_cpx *fout); double snr_compare( kiss_fft_cpx * vec1,kiss_fft_cpx * vec2, int n) { int k; double sigpow,noisepow,err,snr,scale=0; sigpow = noisepow = .000000000000000000000000000001; for (k=0;kr,c->i); } int main() { double ts,tfft,trfft; int i; kiss_fft_cpx cin[NFFT]; kiss_fft_scalar sin[NFFT] = {0.309655,0.815653,0.768570,0.591841,0.404767,0.637617,0.007803,0.012665}; kiss_fft_cpx cout[NFFT]; kiss_fft_cpx sout[NFFT]; const void * kiss_fft_state; const void * kiss_fftr_state; int inverse = 0; kiss_fft_state = kiss_fft_alloc(NFFT,inverse); kiss_fftr_state = kiss_fftr_alloc(NFFT,inverse); for (i=0;i