struct Complex
{
public Complex(float real, float imaginary)
{
mRealValue = real;
mImaginaryValue = imaginary;
}
public float Real
{
get
{
return mRealValue;
}
set
{
mRealValue = value;
}
}
public float Imaginary
{
get
{
return mImaginaryValue;
}
set
{
mImaginaryValue = value;
}
}
public override string ToString()
{
return mRealValue.ToString() + " + " + mImaginaryValue.ToString() + "i";
}
public static Complex operator +(Complex c1, Complex c2)
{
return new Complex(c1.Real + c2.Real, c1.Imaginary + c2.Imaginary);
}
public static Complex operator *(Complex c1, Complex c2)
{
return new Complex(c1.Real * c2.Real - c1.Imaginary * c2.Imaginary,
c1.Real * c2.Imaginary + c1.Imaginary * c2.Real);
}
private float mRealValue;
private float mImaginaryValue;
}