Esempio n. 1
0
File: mixfft.hpp Progetto: EQ4/vasp
    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);
    }
Esempio n. 2
0
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);
    }

}
Esempio n. 3
0
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 */
Esempio n. 4
0
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 */