Пример #1
0
 public void CanComputeRoot()
 {
     var a = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
     var b = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(new Complex(0.0, 0.0), a.Root(b), 15);
     a = new Complex(0.0, -1.19209289550780998537e-7);
     b = new Complex(0.0, 0.5);
     AssertHelpers.AlmostEqual(new Complex(0.038550761943650161, 0.019526430428319544), a.Root(b), 15);
     a = new Complex(0.0, 0.5);
     b = new Complex(0.0, -0.5);
     AssertHelpers.AlmostEqual(new Complex(0.007927894711475968, -0.042480480425152213), a.Root(b), 15);
     a = new Complex(0.0, -0.5);
     b = new Complex(0.0, 1.0);
     AssertHelpers.AlmostEqual(new Complex(0.15990905692806806, 0.13282699942462053), a.Root(b), 15);
     a = new Complex(0.0, 2.0);
     b = new Complex(0.0, -2.0);
     AssertHelpers.AlmostEqual(new Complex(0.42882900629436788, 0.15487175246424678), a.Root(b), 15);
     a = new Complex(0.0, -8.388608e6);
     b = new Complex(1.19209289550780998537e-7, 0.0);
     AssertHelpers.AlmostEqual(new Complex(double.PositiveInfinity, double.NegativeInfinity), a.Root(b), 15);
 }