コード例 #1
0
        public static int GetGcdBySteinV3_With3ValidParameters(int firstNumber, int secondNumber, int thirdNumber)
        {
            SteinAlgorithm steinAlgorithm = new SteinAlgorithm();
            Algorithm      algorithm      = new Algorithm(steinAlgorithm);

            return(algorithm.Calculate(firstNumber, secondNumber, thirdNumber));
        }
コード例 #2
0
        public void GetGcdBySteinV3_WithManyValidParameters(int expectedResult, params int[] vs)
        {
            SteinAlgorithm steinAlgorithm = new SteinAlgorithm();
            Algorithm      algorithm      = new Algorithm(steinAlgorithm);
            int            result         = algorithm.Calculate(vs);

            Assert.AreEqual(expectedResult, result);
        }
コード例 #3
0
        public void SpeedTestV3_EuclideanIsFaster()
        {
            EuclideanAlgorithm euclideanAlgorithm = new EuclideanAlgorithm();
            SteinAlgorithm     steinAlgorithm     = new SteinAlgorithm();
            Algorithm          euclidean          = new Algorithm(euclideanAlgorithm);
            Algorithm          stein = new Algorithm(steinAlgorithm);
            long steinMilliseconds;
            long euclideanMilliseconds;

            int[] arr = Enumerable.Range(1, 100_000).ToArray();
            stein.Calculate(out steinMilliseconds, arr);
            euclidean.Calculate(out euclideanMilliseconds, arr);
            Assert.IsTrue(euclideanMilliseconds < steinMilliseconds);
        }