public static Cmplx op_MultiplicationAssignment(Cmplx x, Cmplx y) { double r = x._r * y._r - x._i * y._i; double i = x._r * y._i + x._i * y._r; x._r = r; x._i = i; return(x); }
public static Cmplx op_DivisionAssignment(Cmplx x, Cmplx y) { double div = y._r * y._r + y._i * y._i; double r = (x._r * y._r + x._i * y._i) / div; double i = (x._i * y._r - x._r * y._i) / div; x._r = r; x._i = i; return(x); }
public override bool Equals(object obj) { if (obj is Cmplx) { Cmplx o = (Cmplx)obj; return(o._r == _r && o._i == _i); } else if (obj is IConvertible) { double o = ((IConvertible)obj).ToDouble(null); return(o == _r && _i == 0); } return(false); }
public static Cmplx op_AdditionAssignment(Cmplx x, Cmplx y) { x._r += y._r; x._i += y._i; return x; }
public static Cmplx op_AdditionAssignment(Cmplx x, double y) { x._r += y; return x; }
public static Cmplx op_SubtractionAssignment(Cmplx x, Cmplx y) { x._r -= y._r; x._i -= y._i; return x; }
public static Cmplx op_SubtractionAssignment(Cmplx x, double y) { x._r -= y; return x; }
public static Cmplx op_MultiplicationAssignment(Cmplx x, Cmplx y) { double r = x._r * y._r - x._i * y._i; double i = x._r * y._i + x._i * y._r; x._r = r; x._i = i; return x; }
public static Cmplx op_MultiplicationAssignment(Cmplx x, double y) { x._r *= y; x._i *= y; return x; }
public static Cmplx op_DivisionAssignment(Cmplx x, double y) { x._r /= y; x._i /= y; return(x); }
public static Cmplx op_AdditionAssignment(Cmplx x, Cmplx y) { x._r += y._r; x._i += y._i; return(x); }
public static Cmplx op_AdditionAssignment(Cmplx x, double y) { x._r += y; return(x); }
public static Cmplx op_SubtractionAssignment(Cmplx x, Cmplx y) { x._r -= y._r; x._i -= y._i; return(x); }
public static Cmplx op_SubtractionAssignment(Cmplx x, double y) { x._r -= y; return(x); }
public static Cmplx op_DivisionAssignment(Cmplx x, double y) { x._r /= y; x._i /= y; return x; }
public static Cmplx op_DivisionAssignment(Cmplx x, Cmplx y) { double div = y._r * y._r + y._i * y._i; double r = (x._r * y._r + x._i * y._i) / div; double i = (x._i * y._r - x._r * y._i) / div; x._r = r; x._i = i; return x; }
public static Cmplx op_MultiplicationAssignment(Cmplx x, double y) { x._r *= y; x._i *= y; return(x); }