www.pudn.com > 二维傅立叶算法fft2D.rar > fft.cpp
#include "iostream.h"
#include "math.h"
#include "memory.h"
#include "conio.h"
#define pi 3.1415926
typedef struct tagNumber
{
double re;
double im;
}Number;
Number Add(Number a,Number b)
{
Number c={a.re+b.re,a.im+b.im};
return c;
}
Number Sub(Number a,Number b)
{
Number c={a.re-b.re,a.im-b.im};
return c;
}
Number Mul(Number a,Number b)
{
Number c={a.re*b.re-a.im*b.im,a.re*b.im+a.im*b.re};
return c;
}
void fft(Number* t,Number* f,int r)
{
long count;//傅立叶变换点数
int i,j,k,p,bfsize;
Number *w,*x,*a,*b;//复数结构类型的指针变量,其中w指向加权系数
double angle;//计算加权系数所用的角度值
count=1<