|
|
|
@ -62,6 +62,8 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -39356457675156.6, -3139507838262.74)] |
|
|
|
[TestCase(32.0, -512.0, +9.52855589474963e+221, +6.29843301304523e+221)] |
|
|
|
[TestCase(-32.0, -512.0, +9.52855589474963e+221, -6.29843301304523e+221)] |
|
|
|
[TestCase(355.0, 355.0, -7.4732769989672537746e153, +2.25277102712558920722e149)] |
|
|
|
[TestCase(355.58, 355.58, -1.11645148443766450218e154, +7.31511888973169437082e153)] |
|
|
|
public void CanComputeComplexCosine(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Cos(); |
|
|
|
@ -87,6 +89,8 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -3139507838262.74, +39356457675156.6)] |
|
|
|
[TestCase(32.0, -512.0, +6.29843301304523e+221, -9.52855589474963e+221)] |
|
|
|
[TestCase(-32.0, -512.0, -6.29843301304523e+221, -9.52855589474963e+221)] |
|
|
|
[TestCase(355.0, 355.0, -2.25277102712558920722e149, -7.4732769989672537746e153)] |
|
|
|
[TestCase(355.58, 355.58, -+7.31511888973169437082e153, -1.11645148443766450218e154)] |
|
|
|
public void CanComputeComplexSine(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Sin(); |
|
|
|
@ -112,6 +116,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, +5.08515122860094E-29, -1)] |
|
|
|
[TestCase(32.0, 512.0, +3.52598650243739e-445, 1)] |
|
|
|
[TestCase(32.0, -512.0, +3.52598650243739e-445, -1)] |
|
|
|
[TestCase(355.0, 355.0, +5.39739014654622322424e-313, +1.0)] |
|
|
|
[TestCase(355.58, 355.58, +2.57308259096360322163e-309, +1.0)] |
|
|
|
[TestCase(196.0, 16.0, +1.62991625102252204721e-14, +1.00000000000001938715)] |
|
|
|
public void CanComputeComplexTangent(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Tan(); |
|
|
|
@ -565,6 +572,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, 5.08515122860094E-29, +1.0)] |
|
|
|
[TestCase(32.0, 512.0, +3.52598650243739e-445, -1.0)] |
|
|
|
[TestCase(32.0, -512.0, +3.52598650243739e-445, +1.0)] |
|
|
|
[TestCase(355.0, 355.0, +5.39739014654622322424e-313, -1.0)] |
|
|
|
[TestCase(355.58, 355.58, +2.57308259096360322163e-309, -1.0)] |
|
|
|
[TestCase(196.0, 16.0, +1.62991625102252204721e-14, -1.00000000000001938715)] |
|
|
|
public void CanComputeComplexCotangent(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Cot(); |
|
|
|
@ -590,6 +600,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -2.52481261731330570134e-14, +2.01407074478744036413e-15)] |
|
|
|
[TestCase(32.0, 512.0, +7.30361056703505e-223, +4.82773070945482e-223)] |
|
|
|
[TestCase(32.0, -512.0, +7.30361056703505e-223, -4.82773070945482e-223)] |
|
|
|
[TestCase(355.0, 355.0, -1.33810107564527561878e-154, -4.03361916732891580715e-159)] |
|
|
|
[TestCase(355.58, 355.58, -6.26665948010988663559e-155, -4.10598756663013051681e-155)] |
|
|
|
[TestCase(196.0, 16.0, +7.70790453157574313253e-8, +2.11460357915116320189e-7)] |
|
|
|
public void CanComputeComplexSecant(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Sec(); |
|
|
|
@ -615,6 +628,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -2.01407074478744e-15, -2.52481261731331e-14)] |
|
|
|
[TestCase(32.0, 512.0, +4.82773070945482e-223, -7.30361056703505e-223)] |
|
|
|
[TestCase(32.0, -512.0, +4.82773070945482e-223, +7.30361056703505e-223)] |
|
|
|
[TestCase(355.0, 355.0, -4.03361916732891580715e-159, +1.33810107564527561878e-154)] |
|
|
|
[TestCase(355.58, 355.58, -4.10598756663013051681e-155, +6.26665948010988663559e-155)] |
|
|
|
[TestCase(196.0, 16.0, +2.11460357915116320189e-7, -7.70790453157574313253e-8)] |
|
|
|
public void CanComputeComplexCosecant(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Csc(); |
|
|
|
@ -702,6 +718,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -1.0, 0.0)] |
|
|
|
[TestCase(-32.0, 512.0, -1.0, -5.08515122860093626173e-29)] |
|
|
|
[TestCase(32.0, -512.0, +1.0, +5.08515122860093626173e-29)] |
|
|
|
[TestCase(355.0, 355.0, +1.0, +5.39739014654622322424e-313)] |
|
|
|
[TestCase(355.58, 355.58, +1.0, +2.57308259096360322163e-309)] |
|
|
|
[TestCase(196.0, 16.0, +1.0, +6.29623407730470174659e-171)] |
|
|
|
public void CanComputeComplexHyperbolicTangent(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Tanh(); |
|
|
|
@ -731,6 +750,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -1.0, 0.0)] |
|
|
|
[TestCase(-32.0, 512.0, -1.0, 5.08515122860093626173e-29)] |
|
|
|
[TestCase(32.0, -512.0, +1.0, -5.08515122860093626173e-29)] |
|
|
|
[TestCase(355.0, 355.0, +1.0, -5.39739014654622322424e-313)] |
|
|
|
[TestCase(355.58, 355.58, +1.0, -2.57308259096360322163e-309)] |
|
|
|
[TestCase(196.0, 16.0, +1.0, -6.29623407730470174659e-171)] |
|
|
|
public void CanComputeComplexHyperbolicCotangent(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Coth(); |
|
|
|
@ -760,6 +782,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, 7.30361056703505051822e-223, -4.82773070945482080706e-223)] |
|
|
|
[TestCase(-32.0, 512.0, -2.52481261731330570134e-14, +2.01407074478744036413e-15)] |
|
|
|
[TestCase(-32.0, -512.0, -2.52481261731330570134e-14, -2.01407074478744036413e-15)] |
|
|
|
[TestCase(355.0, 355.0, -1.33810107564527561878e-154, +4.03361916732891580715e-159)] |
|
|
|
[TestCase(355.58, 355.58, -6.26665948010988663559e-155, +4.10598756663013051681e-155)] |
|
|
|
[TestCase(196.0, 16.0, -1.447180343166980306269e-85, +4.350690711792111509525e-86)] |
|
|
|
public void CanComputeComplexHyperbolicSecant(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Sech(); |
|
|
|
@ -789,6 +814,9 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
[TestCase(-512.0, -32.0, -7.30361056703505051822e-223, +4.82773070945482080706e-223)] |
|
|
|
[TestCase(-32.0, 512.0, +2.52481261731330570134e-14, -2.01407074478744036413e-15)] |
|
|
|
[TestCase(32.0, -512.0, -2.52481261731330570134e-14, +2.01407074478744036413e-15)] |
|
|
|
[TestCase(355.0, 355.0, -1.33810107564527561878e-154, +4.03361916732891580715e-159)] |
|
|
|
[TestCase(355.58, 355.58, -6.26665948010988663559e-155, +4.10598756663013051681e-155)] |
|
|
|
[TestCase(196.0, 16.0, -1.447180343166980306269e-85, +4.350690711792111509525e-86)] |
|
|
|
public void CanComputeComplexHyperbolicCosecant(double real, double imag, double expectedReal, double expectedImag) |
|
|
|
{ |
|
|
|
var actual = new Complex(real, imag).Csch(); |
|
|
|
|