コード例 #1
0
ファイル: mixfft.hpp プロジェクト: 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);
    }
コード例 #2
0
ファイル: mixfft.c プロジェクト: kerkomen/stereogene
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);
    }

}
コード例 #3
0
ファイル: mixfft.c プロジェクト: kerkomen/stereogene
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 */
コード例 #4
0
ファイル: mixfft.cpp プロジェクト: FreeSivan/drawfreq
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 */