w*******U 发帖数: 256 | 1 C语言程序用到 fftw, 如何将 plan 作为参数传递给子程序?下面的调用对么?
int main()
{
void myfun(int n1, int n2, int n3, double *phys, fftw_complex *spec, fftw_
plan pf, fftw_plan pb, ...);
......
int n1=64, n2=64, n3=64;
int n3c, n3r;
n3c=n3/2+1; n3r=2*n3c;
int rank=3, n[rank];
n[0]=n1; n[1]=n2; n[2]=n3;
double *phys; fftw_complex *spec;
phys=(double*)malloc(sizeof(double)*n1*n2*n3r);
spec=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*n1*n2*n3c);
fftw_plan pf, pb;
pf=fftw_plan_dft_r2c(rank, n, phys, spec, FFTW_MEASURE);
pb=fftw_plan_dft_c2r(rank, n, spec, phys, FFTW_MEASURE);
myfun(n1, n2, n3, phys, spec, pf, pb, ...);
......
} |
|