System.Numerics.Tests.ComplexTests.ACos_Basic C# (CSharp) Method

ACos_Basic() private method

private ACos_Basic ( double real, double imaginary ) : void
real double
imaginary double
return void
        public static void ACos_Basic(double real, double imaginary)
        {
            // Formula used in the feature: arccos(z) = -iln(z + iSqrt(value*value-1))
            // Verification is done with z = ACos(Cos(z));
            var complex = new Complex(real, imaginary);
            Complex cosComplex = Complex.Cos(complex);
            Complex acosComplex = Complex.Acos(cosComplex);

            if (!real.Equals(acosComplex.Real) || !imaginary.Equals(acosComplex.Imaginary))
            {
                double realDiff = Math.Abs(Math.Abs(real) - Math.Abs(acosComplex.Real));
                double imaginaryDiff = Math.Abs(Math.Abs(imaginary) - Math.Abs(acosComplex.Imaginary));
                Assert.False((realDiff > 0.1) || (imaginaryDiff > 0.1), string.Format("({0}) != ACos(Cos():{1}):{2}", complex, cosComplex, acosComplex));
            }
        }
ComplexTests