
/*======================================================================
Filename:	ComplexMath.h
Language:	Think C

Header file for complex math functions

Modifications:
	02/23/90	Gerry Beauregard	Created this file
	01/27/91	Gerry Beauregard	Modified to use Reals instead
									of doubles.
=======================================================================*/

#ifndef	_COMPLEXMATH_H
#define	_COMPLEXMATH_H

/*=====================================================================
Constants
=======================================================================*/

#define	MY_PI		(3.14159265358979323846)

/*====================================================================
Typedefs
======================================================================*/
typedef float Real;

typedef struct
{
	Real	Re;
	Real	Im;
} Complex;

typedef struct
{
	Real	Mag;
	Real	Phase;
} Polar;

/*==================================================================
Prototypes
=====================================================================*/

Complex CAvg(Complex a, Complex b);
Complex CAdd(Complex a, Complex b);
Complex CSub(Complex a, Complex b);
Complex CMult(Complex a, Complex b);
Complex CDiv(Complex a, Complex b);
Complex	Conj(Complex a);
Polar 	ComplexToPolar(Complex x);
Complex PolarToComplex(Polar x);
Real	ComplexMag(Complex x);
Real	ComplexPhase(Complex x);
Real	RadToDeg(Real x);
Real	DegToRad(Real x);

#endif


