public static PComplex Normalize(PComplex c) { c._a += (c._m < 0 ? PI : 0); c._m *= (c._m < 0 ? -1 : 1); c._a = (float)Math.IEEERemainder(c._a, 2 * PI); c._a += (c._a < 0 ? 2 * PI : 0); return c; }
public CComplex(PComplex c) { _r = c._m * (float)Math.Cos(c._a); _i = c._m * (float)Math.Sin(c._a); }
public static PComplex Multiply(PComplex c, float d) { return new PComplex(c._m * d, c._a); }
public static PComplex Multiply(PComplex c1, PComplex c2) { return new PComplex(c1._m * c2._m, c1._a + c2._a); }
public static PComplex Invert(PComplex c) { return new PComplex(1.0f / c._m, -c._a); }
public static PComplex Divide(PComplex c, float d) { return new PComplex(c._m / d, c._a); }
public static PComplex Divide(PComplex c1, PComplex c2) { return new PComplex(c1._m / c2._m, c1._a - c2._a); }