private Vector3 Coordinate(float x, float y, float n, float k1, float k2, float a) { z1 = Complex32.Multiply( Complex32.Exp(new Complex32(0, 2f * math.PI * k1 / n)), Complex32.Pow(Complex32.Sin(new Complex32(x, y)), 2 / n) ); z2 = Complex32.Multiply( Complex32.Exp(new Complex32(0, 2f * math.PI * k2 / n)), Complex32.Pow(Complex32.Sin(new Complex32(x, y)), 2 / n) ); return(new Vector3(z1.Real, z2.Real, z1.Imaginary * math.cos(a) + z2.Imaginary * math.sin(a))); }
public void CanMultipleTwoComplexNumbers() { Assert.That(Complex32.Multiply(Complex32.NaN, Complex32.One).IsNaN()); Assert.AreEqual(new Complex32(0, 16), Complex32.Multiply(new Complex32(4, -4), new Complex32(-2, 2))); }
public static Complex32 Multiply(Complex32 left, Complex32 right) { return(Complex32.Multiply(left, right)); }