예제 #1
0
 public void CanComputeSquareRoot()
 {
     var complex = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(
         new Complex(0.00037933934912842666, 0.00015712750315077684), complex.SquareRoot(), 15);
     complex = new Complex(0.0, 1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(
         new Complex(0.00024414062499999973, 0.00024414062499999976), complex.SquareRoot(), 15);
     complex = new Complex(0.0, -1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(
         new Complex(0.00024414062499999973, -0.00024414062499999976), complex.SquareRoot(), 15);
     complex = new Complex(0.0, 0.5);
     AssertHelpers.AlmostEqual(new Complex(0.5, 0.5), complex.SquareRoot(), 15);
     complex = new Complex(0.0, -0.5);
     AssertHelpers.AlmostEqual(new Complex(0.5, -0.5), complex.SquareRoot(), 15);
     complex = new Complex(0.0, -8.388608e6);
     AssertHelpers.AlmostEqual(new Complex(2048.0, -2048.0), complex.SquareRoot(), 15);
     complex = new Complex(8.388608e6, 1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(new Complex(2896.3093757400989, 2.0579515874459933e-11), complex.SquareRoot(), 15);
     complex = new Complex(0.0, 0.0);
     AssertHelpers.AlmostEqual(Complex.Zero, complex.SquareRoot(), 15);
 }