public void TwoSum_ResultsNonOverlappingNonAdjacent_Random() { var rnd = new RandomDouble(1); // Use a specific seed to ensure repeatability int testCount = 1000000; for (int i = 0; i < testCount; i++) { double a = rnd.NextDoubleFullRange(); double b = rnd.NextDoubleFullRange(); double x; double y; EA.TwoSum(a, b, out x, out y); Assert.IsTrue(ExpansionExtensions.AreNonOverlapping(x, y)); Assert.IsTrue(ExpansionExtensions.AreNonAdjacent(x, y)); } }
public void GetRandom() { RandomDouble rd = new RandomDouble(); // foreach (var i in Enumerable.Range(0, 10000)) { double d = rd.NextDoubleFullRange(); } }
public void FastTwoSum_ResultsNonOverlappingNonAdjacent_Random() { var rnd = new RandomDouble(1); // Use a specific seed to ensure repeatability int testCount = 1000000; int testsPerformed = 0; for (int i = 0; i < testCount; i++) { double a = rnd.NextDoubleFullRange(); double b = rnd.NextDoubleFullRange(); double x; double y; if (System.Math.Abs(a) >= System.Math.Abs(b)) { testsPerformed++; EA.FastTwoSum(a, b, out x, out y); Assert.IsTrue(ExpansionExtensions.AreNonOverlapping(x, y)); Assert.IsTrue(ExpansionExtensions.AreNonAdjacent(x, y)); } } Debug.Print("FastTwoSum_MaintainsNonOverlapping_Random Tested {0} out of {1} tries", testsPerformed, testCount); }