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