Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2316045
  • 博文数量: 846
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 9499
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-04 19:54
个人简介

日日行,不怕千万里;时时学,不怕千万卷

文章分类

全部博文(846)

文章存档

2010年(36)

2009年(418)

2008年(346)

2007年(46)

我的朋友

分类: C/C++

2010-05-21 09:57:12

下面这个程序是利用FFTW函数库编写的基于C/C++的FFT测试程序,多线程和MPI编程实例在本博客中也都可以找到:

#include<fftw3.h>
#include<stdio.h>
#define N 8
int main()
{
int i;

fftw_complex *in,*out;
fftw_plan p;
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);

if((in==NULL)||(out==NULL))
{
printf("Error:insufficient available memory\n");
}
else
{

for(i=0; i<N; i++)/*测试数据 */
{
in[i][0] = i+1;
in[i][1] = 0;
}
}

p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD,FFTW_ESTIMATE);

fftw_execute(p); /* repeat as needed */
fftw_destroy_plan(p);
fftw_cleanup();
for(i=0;i<N;i++)/*OUTPUT*/
{
printf("%f,%fi\n",in[i][0],in[i][1]);
}
printf("\n");
for(i=0;i<N;i++)/*OUTPUT*/
{
printf("%f,%fi\n",out[i][0],out[i][1]);
    }

         if(in!=NULL) fftw_free(in);
         if(out!=NULL) fftw_free(out);
         return 0;
     }


阅读(7637) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~