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);
        }
        public void GetRandom()
        {
            RandomDouble rd = new RandomDouble();
//            foreach (var i in Enumerable.Range(0, 10000))
            {
                double d = rd.NextDoubleFullRange();
            }
        }