fft.h

来自「compuete the fast fourier transformation」· C头文件 代码 · 共 47 行

H
47
字号
#if !defined(AFX_FFT_H__0CEEC925_09FB_405D_A316_139A9FD61E07__INCLUDED_)
#define AFX_FFT_H__0CEEC925_09FB_405D_A316_139A9FD61E07__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include <complex>

#define round(d) (((d-floor(d))<=0.5)? (int) floor(d):(int) ceil(d))

typedef std::complex<double> Complex;

const int FORWARD = -1;
const int REVERSE = 1;
const char FFT_LINEAR = 2;
const char FFT_LOGARITHM = 3;
const double pi = 3.1415926536;

class FFT{
	inline void swap(Complex &i, Complex &j) {
		Complex temp = j;
		j = i;
		i = temp;
	}
	void BitReorder(Complex *F, int N);
	void BitReorder(Complex **F, int N);
public:
	//void ReadFile(char* fileName, Complex **imageArray, int N);
	//void ReadFile(char *fileName, Complex ***imageArray, int N);
	//void SaveFile(char *fileName, char *ext, Complex **imageArray, int N);
	//void SaveFile(char *fileName, char *ext, Complex ***imageArray, int N);
	void Four1D(Complex *F, int N, int dir);
	void Four1D(Complex **F, int N, int dir);
	void Four2D(Complex **c,int N, int dir);
	void Four2D(Complex ***f, int N, int dir);
	//void Four3D(Complex ***c, int N, int dir, int bands);
	//Complex** Magnitude(Complex** imageArray, int N, int strech);
	//void Strech(Complex **f, int N, char type=FFT_LINEAR);
	//void Strech(Complex ***f, int N, int bands, char type=FFT_LINEAR);
	//void WalshTransform(Complex *F, int N, int dir);
};


#endif // !defined(AFX_FFT_H__0CEEC925_09FB_405D_A316_139A9FD61E07__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?