private static void VerifyLogWithBase(Complex complex) { Double baseValue = 0.0; Double baseLog; // verify with Random Int32 do { baseValue = Support.GetRandomInt32Value(false); }while (0 == baseValue); Complex logValue = Complex.Log(complex, baseValue); Complex logComplex = Complex.Log(complex); baseLog = Math.Log(baseValue); Complex expectedLog = logComplex / baseLog; if (false == Support.VerifyRealImaginaryProperties(logValue, expectedLog.Real, expectedLog.Imaginary)) { Console.WriteLine("Error LogBase-ErrLoG01571! Log({0}, {1}):{2} != {3} as expected", complex, baseValue, logValue, expectedLog); Assert.True(false, "Verification Failed"); } // Verify with Random Double value baseValue = 0.0; do { baseValue = Support.GetRandomDoubleValue(false); }while (0.0 == baseValue); logValue = Complex.Log(complex, baseValue); logComplex = Complex.Log(complex); baseLog = Math.Log(baseValue); expectedLog = logComplex / baseLog; if (!Support.VerifyRealImaginaryProperties(logValue, expectedLog.Real, expectedLog.Imaginary)) { Console.WriteLine("Error LogBaseDbL-ErrLoG1598! Log({0}, {1}):{2} != {3} as expected", complex, baseValue, logValue, expectedLog); Assert.True(false, "Verification Failed"); } }
public static void RunTests_ZeroOneImaginaryOne() { Complex logValue = Complex.Log(Complex.Zero); Support.VerifyRealImaginaryProperties(logValue, double.NegativeInfinity, 0.0, "Verify log of zero"); // Verify log10 with Zero logValue = Complex.Log10(Complex.Zero); Support.VerifyRealImaginaryProperties(logValue, double.NegativeInfinity, 0.0, "Verify log10 of zero"); // Verify log base with Zero double baseValue = Support.GetRandomInt32Value(false); logValue = Complex.Log(Complex.Zero, baseValue); Support.VerifyRealImaginaryProperties(logValue, double.NegativeInfinity, double.NaN, "Verify log base of zero"); // Verify test results with Zero - One VerifyLogWithProperties(Complex.One, Complex.Zero); // Verify test results with One - ImaginaryOne VerifyLogWithProperties(Complex.One, Complex.ImaginaryOne); }
public static void RunTests_Int32ImplicitCastToComplex() { VerifyInt32ImplicitCastToComplex(Int32.MinValue); for (int i = 0; i < Support.RandomSampleCount; ++i) { Int32 randomValue = Support.GetRandomInt32Value(true); VerifyInt32ImplicitCastToComplex(randomValue); } VerifyInt32ImplicitCastToComplex(-1); VerifyInt32ImplicitCastToComplex(0); VerifyInt32ImplicitCastToComplex(1); for (int i = 0; i < Support.RandomSampleCount; ++i) { Int32 randomValue = Support.GetRandomInt32Value(false); VerifyInt32ImplicitCastToComplex(randomValue); } VerifyInt32ImplicitCastToComplex(Int32.MaxValue); }
private static void VerifyLogWithBase(Complex complex) { double baseValue = 0.0; double baseLog; // Verify with Random Int32 do { baseValue = Support.GetRandomInt32Value(false); }while (0 == baseValue); Complex logValue = Complex.Log(complex, baseValue); Complex logComplex = Complex.Log(complex); baseLog = Math.Log(baseValue); Complex expectedLog = logComplex / baseLog; Support.VerifyRealImaginaryProperties(logValue, expectedLog.Real, expectedLog.Imaginary, string.Format("Log({0}, {1}):{2} != {3} as expected", complex, baseValue, logValue, expectedLog)); // Verify with Random double value baseValue = 0.0; do { baseValue = Support.GetRandomDoubleValue(false); }while (0.0 == baseValue); logValue = Complex.Log(complex, baseValue); logComplex = Complex.Log(complex); baseLog = Math.Log(baseValue); expectedLog = logComplex / baseLog; Support.VerifyRealImaginaryProperties(logValue, expectedLog.Real, expectedLog.Imaginary, string.Format("Log({0}, {1}):{2} != {3} as expected", complex, baseValue, logValue, expectedLog)); }