void operator ()(T1 *xRe, T2 *xIm,T3 *yRe,T4 *yIm) { permute(n, nFactor, actualRadix, remainRadix, xRe, xIm, yRe, yIm); for(int count=1; count<=nFactor; count++) twiddleTransf(sofarRadix[count], actualRadix[count], remainRadix[count], yRe, yIm); }
void fft(double xRe[], double xIm[], double yRe[], double yIm[]){ int count; // transTableSetup(sofarRadix, actualRadix, remainRadix, &nFactor, n); permute(fftLength, nFactor, actualRadix, remainRadix, xRe, xIm, yRe, yIm); for (count=1; count<=nFactor; count++){ twiddleTransf(sofarRadix[count], actualRadix[count], remainRadix[count], yRe, yIm); } }
void fftl(int n, double xRe[], double xIm[], double yRe[], double yIm[]) { int count; initFFT(n); // transTableSetup(sofarRadix, actualRadix, remainRadix, &nFactor, n); permute(n, nFactor, actualRadix, remainRadix, xRe, xIm, yRe, yIm); for (count=1; count<=nFactor; count++){ twiddleTransf(sofarRadix[count], actualRadix[count], remainRadix[count], yRe, yIm); } } /* fft */
void xiami_fft(int n, double xRe[], double xIm[], double yRe[], double yIm[]) { int sofarRadix[maxFactorCount], actualRadix[maxFactorCount], remainRadix[maxFactorCount]; int nFactor; int count; pi = 4*atan(float(1)); transTableSetup(sofarRadix, actualRadix, remainRadix, &nFactor, &n); permute(n, nFactor, actualRadix, remainRadix, xRe, xIm, yRe, yIm); for (count=1; count<=nFactor; count++) twiddleTransf(sofarRadix[count], actualRadix[count], remainRadix[count], yRe, yIm); } /* fft */