コード例 #1
0
        public void CanComputeSquareRoot()
        {
            var complex = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);

            AssertHelpers.AlmostEqualRelative(
                new Complex(0.00037933934912842666, 0.00015712750315077684), complex.SquareRoot(), 14);
            complex = new Complex(0.0, 1.19209289550780998537e-7);
            AssertHelpers.AlmostEqualRelative(
                new Complex(0.00024414062499999973, 0.00024414062499999976), complex.SquareRoot(), 14);
            complex = new Complex(0.0, -1.19209289550780998537e-7);
            AssertHelpers.AlmostEqualRelative(
                new Complex(0.00024414062499999973, -0.00024414062499999976), complex.SquareRoot(), 14);
            complex = new Complex(0.0, 0.5);
            AssertHelpers.AlmostEqualRelative(new Complex(0.5, 0.5), complex.SquareRoot(), 14);
            complex = new Complex(0.0, -0.5);
            AssertHelpers.AlmostEqualRelative(new Complex(0.5, -0.5), complex.SquareRoot(), 14);
            complex = new Complex(0.0, -8.388608e6);
            AssertHelpers.AlmostEqualRelative(new Complex(2048.0, -2048.0), complex.SquareRoot(), 14);
            complex = new Complex(8.388608e6, 1.19209289550780998537e-7);
            AssertHelpers.AlmostEqualRelative(new Complex(2896.3093757400989, 2.0579515874459933e-11), complex.SquareRoot(), 14);
            complex = new Complex(0.0, 0.0);
            AssertHelpers.AlmostEqualRelative(Complex.Zero, complex.SquareRoot(), 14);
        }