C的FFTW2例程有问题
|
我目前正在使用FFTW2(西方最快的傅立叶变换)库,并且在Fortran中编写了成功的例程之后,我继续使用C。但是,当我尝试使用数据分配时,遇到了一些麻烦输入要转换的数据(即sin(x)的值)。目前,我的代码是:
#include <stdio.h>
#include <fftw.h>
#include <math.h>
#include <complex.h>
void compute_fft(){
int i;
const int n[8];
fftw_complex in[8];
fftwnd_plan p;
in[0]->re = 0;
in[1]->re = (sqrt(2)/2);
in[2]->re = 1;
in[3]->re = (sqrt(2)/2);
in[4]->re = 0;
in[5]->re = -(sqrt(2)/2);
in[6]->re = -1;
in[7]->re = -(sqrt(2)/2);
for(i = 0; i < 8; i++){
(in[i])->im = 0;
}
p = fftwnd_create_plan(8, n, FFTW_FORWARD, FFTW_ESIMATE | FFTW_IN_PLACE);
fftwnd_one(p, &in[0], NULL);
fftwnd_destroy_plan(p);
printf(\"Sin\\n\");
for(i = 0; i < 8; i++){
printf(\"%d\\n\", n[i]);
}
}
我一直将此http://fftw.org/fftw2_doc/链接用于文档/教程用途,目前我的错误是\“ a-> a(具有afftw_complexa)的无效类型参数\”和\' ->和fftw_complex两侧的a \'字符都在其上方有克拉。我使用的基本模式与我在Fortran中编写此代码时所用的模式相同,并且我似乎正在按照本教程进行操作,实际上是我在搞砸语法的分配。记录一下,我正在使用的编译器是nvcc,如果它有所作为(我以前尝试过gcc)。如果这里以前有人在C中使用过FFTW2,您能帮助纠正我的错误吗?谢谢!
没有找到相关结果
已邀请:
2 个回复
犯痪桂涛杭
担每棱绰