このコードを使用して、複雑なデータ型を持つ 2D 配列を作成しています (c の complex.h から)。次に、その配列の fft を「その場で」見つけたいと思います。ただし、セグメンテーション違反が発生しています。これは、ポインターの不適切なキャストが原因であると考えられます。fftw で複雑なデータ型を使用するにはどうすればよいですか?
//a is a 2d array of size blockSize*NO_INPUTS
complex float* a=(complex float*)malloc(sizeof(complex float)*NO_INPUTS*blockSize);
//****** Put data in a*******//
//blah//
//blah//
//a has data now//
fftw_plan p;
p=fftw_plan_dft_2d(blockSize,NO_INPUTS,(fftw_complex*)a,(fftw_complex*)a,FFTW_FORWARD,FFTW_ESTIMATE);
fftw_execute(p);
fftw_destroy_plan(p);
fftw_complex や fftw_malloc を使用したくないことに注意してください。ありがとうございました。