public void CanComputePower()
 {
     var a = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
     var b = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(
         new Complex(9.99998047207974718744e-1, -1.76553541154378695012e-6), a.Power(b), 15);
     a = new Complex(0.0, 1.19209289550780998537e-7);
     b = new Complex(0.0, -1.19209289550780998537e-7);
     AssertHelpers.AlmostEqual(new Complex(1.00000018725172576491, 1.90048076369011843105e-6), a.Power(b), 15);
     a = new Complex(0.0, -1.19209289550780998537e-7);
     b = new Complex(0.0, 0.5);
     AssertHelpers.AlmostEqual(new Complex(-2.56488189382693049636e-1, -2.17823120666116144959), a.Power(b), 15);
     a = new Complex(0.0, 0.5);
     b = new Complex(0.0, -0.5);
     AssertHelpers.AlmostEqual(new Complex(2.06287223508090495171, 7.45007062179724087859e-1), a.Power(b), 15);
     a = new Complex(0.0, -0.5);
     b = new Complex(0.0, 1.0);
     AssertHelpers.AlmostEqual(new Complex(3.70040633557002510874, -3.07370876701949232239), a.Power(b), 15);
     a = new Complex(0.0, 2.0);
     b = new Complex(0.0, -2.0);
     AssertHelpers.AlmostEqual(new Complex(4.24532146387429353891, -2.27479427903521192648e1), a.Power(b), 15);
     a = new Complex(0.0, -8.388608e6);
     b = new Complex(1.19209289550780998537e-7, 0.0);
     AssertHelpers.AlmostEqual(new Complex(1.00000190048219620166, -1.87253870018168043834e-7), a.Power(b), 15);
     a = new Complex(0.0, 0.0);
     b = new Complex(0.0, 0.0);
     AssertHelpers.AlmostEqual(new Complex(1.0, 0.0), a.Power(b), 15);
     a = new Complex(0.0, 0.0);
     b = new Complex(1.0, 0.0);
     AssertHelpers.AlmostEqual(new Complex(0.0, 0.0), a.Power(b), 15);
     a = new Complex(0.0, 0.0);
     b = new Complex(-1.0, 0.0);
     AssertHelpers.AlmostEqual(new Complex(double.PositiveInfinity, 0.0), a.Power(b), 15);
     a = new Complex(0.0, 0.0);
     b = new Complex(-1.0, 1.0);
     AssertHelpers.AlmostEqual(new Complex(double.PositiveInfinity, double.PositiveInfinity), a.Power(b), 15);
     a = new Complex(0.0, 0.0);
     b = new Complex(0.0, 1.0);
     AssertEx.That(() => a.Power(b).IsNaN);
 }