コード例 #1
0
ファイル: fft_test.cpp プロジェクト: fatchat/fft_pricing
// ft using GSL
void ft_gsl(size_t N, const cmpvec& little_x, cmpvec& big_X)
{
  big_X.clear();
  FFTCalc fftCalc(N);
  fftCalc.setData(little_x);
  fftCalc.performFFT();
  fftCalc.getData(big_X);
  assert(little_x.size() == big_X.size());
}
コード例 #2
0
ファイル: fft.cpp プロジェクト: jfdelnero/WinDSP
void FFT::dofft86(long (*x)[2], const int bits)
{
	unsigned int i,j;

	long *xe=x[1<<bits];//position du dernier element
	long *xi;				//position actuelle

	long curcos,cursin;

	for (i=POW-bits; i<POW; ++i)//i:0->1->2->...->11
	{
		const unsigned long s2dk=SAMPLES2>>i;//1024->512->256->128->64->32->16->8->4->2->1
		const unsigned long d2=s2dk<<1;//*2

		for (j=0; j<s2dk; ++j)
		{
			curcos=cossintab[j<<i][0];// posi cos  actuelle
			cursin=cossintab[j<<i][1];// posi sin  actuelle

			for (xi=x[j]; xi<xe; xi=xi+(d2<<1)) //*2
				fftCalc(xi, curcos,cursin, d2);
		}
	}
}