⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complex.h

📁 FFT 算法的动态链接库 自己做的 算法复杂度一般
💻 H
字号:

#ifndef COMPLEX_H
#define COMPLEX_H
/************************************************************************/
/* 这里要定义一个复数类 服务于FFT变换   由于是独立的一个类  也可以用于其它用途
所有功能均在此头文件里      冯启航 2008-3-18                                                                */
/************************************************************************/
#include <iostream.h>
typedef double DATATYPE;
class Complex//定义一个复数类
{
public:
	DATATYPE m_real;
	DATATYPE m_img;
public:
	Complex()
	{
		m_real = (DATATYPE)0 ;
		m_img = (DATATYPE) 0;
	}
	Complex(DATATYPE real,DATATYPE img)
	{
		m_img = img;
		m_real = real;
	}
	Complex& operator=(const Complex &plex)
	{
		m_real = plex.m_real;
		m_img = plex.m_img;
		return *this;
	}
	Complex& operator/=(int &d)
	{
		m_real /=d;
		m_img /= d;
		return *this;
	}
	Complex& operator*=(int &d)
	{
		m_real *=d;
		m_img *= d;
		return *this;
	}
	Complex& operator+=(const Complex &plex)
	{
		m_real += plex.m_real;
		m_img += plex.m_img;
		return *this;
	}
};
//复数类的几个操作符重载函数
const Complex operator*(const Complex plex1,const Complex plex2)
{
	Complex l_result;
	l_result.m_real = plex1.m_real * plex2.m_real - plex1.m_img * plex2.m_img;
	l_result.m_img = plex1.m_real * plex2.m_img + plex1.m_img * plex2.m_real;
	return l_result;
}

const Complex operator+(const Complex plex1,const Complex plex2)
{
	Complex l_result;
	l_result.m_real = plex1.m_real + plex2.m_real;
	l_result.m_img = plex1.m_img + plex2.m_img;
	return l_result;
}

const Complex operator-(const Complex plex1,const Complex plex2)
{
	Complex l_result;
	l_result.m_real = plex1.m_real - plex2.m_real;
	l_result.m_img = plex1.m_img - plex2.m_img;
	return l_result;
}
ostream& operator<<(ostream& _OStr, const Complex& rhs)
{
	_OStr<<rhs.m_real<<"+"<<rhs.m_img<<"j ";
	return _OStr;
}
#endif

⌨️ 快捷键说明

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