Chris@184: #include Chris@184: #include Chris@184: #include Chris@184: #include Chris@184: #include "kiss_fft.h" Chris@184: #include "kiss_fftr.h" Chris@184: #include "kiss_fftnd.h" Chris@184: #include "kiss_fftndr.h" Chris@184: Chris@184: #include "pstats.h" Chris@184: Chris@184: static Chris@184: int getdims(int * dims, char * arg) Chris@184: { Chris@184: char *s; Chris@184: int ndims=0; Chris@184: while ( (s=strtok( arg , ",") ) ) { Chris@184: dims[ndims++] = atoi(s); Chris@184: //printf("%s=%d\n",s,dims[ndims-1]); Chris@184: arg=NULL; Chris@184: } Chris@184: return ndims; Chris@184: } Chris@184: Chris@184: int main(int argc,char ** argv) Chris@184: { Chris@184: int k; Chris@184: int nfft[32]; Chris@184: int ndims = 1; Chris@184: int isinverse=0; Chris@184: int numffts=1000,i; Chris@184: kiss_fft_cpx * buf; Chris@184: kiss_fft_cpx * bufout; Chris@184: int real = 0; Chris@184: Chris@184: nfft[0] = 1024;// default Chris@184: Chris@184: while (1) { Chris@184: int c = getopt (argc, argv, "n:ix:r"); Chris@184: if (c == -1) Chris@184: break; Chris@184: switch (c) { Chris@184: case 'r': Chris@184: real = 1; Chris@184: break; Chris@184: case 'n': Chris@184: ndims = getdims(nfft, optarg ); Chris@184: if (nfft[0] != kiss_fft_next_fast_size(nfft[0]) ) { Chris@184: int ng = kiss_fft_next_fast_size(nfft[0]); Chris@184: fprintf(stderr,"warning: %d might be a better choice for speed than %d\n",ng,nfft[0]); Chris@184: } Chris@184: break; Chris@184: case 'x': Chris@184: numffts = atoi (optarg); Chris@184: break; Chris@184: case 'i': Chris@184: isinverse = 1; Chris@184: break; Chris@184: } Chris@184: } Chris@184: int nbytes = sizeof(kiss_fft_cpx); Chris@184: for (k=0;k