コード例 #1
0
ファイル: d_mayer_fft.c プロジェクト: 4nykey/rockbox
void mayer_ifft(int n, REAL *real, REAL *imag)
{
 REAL a,b,c,d;
 REAL q,r,s,t;
 int i,j,k;
 mayer_fht(real,n);
 mayer_fht(imag,n);
 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
  a = real[i]; b = real[j];  q=a+b; r=a-b;
  c = imag[i]; d = imag[j];  s=c+d; t=c-d;
  imag[i] = (s+r)*0.5;  imag[j] = (s-r)*0.5;
  real[i] = (q-t)*0.5;  real[j] = (q+t)*0.5;
 }
}
コード例 #2
0
ファイル: d_mayer_fft.c プロジェクト: camilleg/vss
void mayer_realifft(int n, REAL *real)
{
 REAL a,b;
 int i,j,k;
 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
  a = real[i];
  b = real[j];
  real[j] = (a-b);
  real[i] = (a+b);
 }
 mayer_fht(real,n);
}
コード例 #3
0
ファイル: d_mayer_fft.c プロジェクト: 4nykey/rockbox
void mayer_realifft(int n, REAL *real)
{
#ifdef ROCKBOX
 REAL a,b;
#else
 REAL a,b,c,d;
#endif
 int i,j,k;
 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
  a = real[i];
  b = real[j];
  real[j] = (a-b);
  real[i] = (a+b);
 }
 mayer_fht(real,n);
}