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 */
MixFFT(int _n): n(_n) { transTableSetup(sofarRadix, actualRadix, remainRadix, &nFactor, &n); } /* fft */
void initFFT(int n){ fftLength=n; transTableSetup(sofarRadix, actualRadix, remainRadix, &nFactor, n); }