public void LessThan(BinaryTestCase testCase)
 {
     testCase.AssertComparison((d1, d2) => d1 < d2, (bd1, bd2) => bd1 < bd2);
 }
 public void Inequality(BinaryTestCase testCase)
 {
     // ReSharper disable once CompareOfFloatsByEqualityOperator
     testCase.AssertComparison((d1, d2) => d1 != d2, (bd1, bd2) => bd1 != bd2);
 }
 public void GreaterThanOrEqual(BinaryTestCase testCase)
 {
     testCase.AssertComparison((d1, d2) => d1 >= d2, (bd1, bd2) => bd1 >= bd2);
 }
 public void Multiply(BinaryTestCase testCase)
 {
     testCase.AssertEqual((d1, d2) => d1 * d2, (bd1, bd2) => bd1 * bd2);
 }
 public void Divide(BinaryTestCase testCase)
 {
     testCase.AssertEqual((d1, d2) => d1 / d2, (bd1, bd2) => bd1 / bd2);
 }
 public void Subtract(BinaryTestCase testCase)
 {
     testCase.AssertEqual((d1, d2) => d1 - d2, (bd1, bd2) => bd1 - bd2);
 }
            private static TestCaseData TestCaseData(TestCaseValue first, TestCaseValue second)
            {
                var testCase = new BinaryTestCase(first.Value, second.Value, Math.Max(first.Precision, second.Precision));

                return(new TestCaseData(testCase).SetName($"{first.Name}; {second.Name}"));
            }
 public void Min(BinaryTestCase testCase)
 {
     testCase.AssertEqual(Math.Min, BigDouble.Min);
 }
 public void Add(BinaryTestCase testCase)
 {
     testCase.AssertEqual((d1, d2) => d1 + d2, (bd1, bd2) => bd1 + bd2);
 }
 public void Max(BinaryTestCase testCase)
 {
     testCase.AssertEqual(Math.Max, BigDouble.Max);
 }
 public void Pow(BinaryTestCase testCase)
 {
     testCase.AssertEqual(Math.Pow, BigDouble.Pow);
 }
 public void Log(BinaryTestCase testCase)
 {
     testCase.AssertEqual(Math.Log, (bd1, bd2) => BigDouble.Log(bd1, bd2));
 }
 public void CompareTo(BinaryTestCase testCase)
 {
     testCase.AssertEqual((d1, d2) => d1.CompareTo(d2), (bd1, bd2) => bd1.CompareTo(bd2));
 }
 public void LessThanOrEqual(BinaryTestCase testCase)
 {
     testCase.AssertComparison((d1, d2) => d1 <= d2, (bd1, bd2) => bd1 <= bd2);
 }