コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine(GcdSolver.EuklidGcdWithTimeMeasure(8, 2));
            Console.WriteLine(GcdSolver.SteinGcdWithTimeMeasure(400, 1600, 20));

            Console.ReadKey();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            CustomPolinomial a = new CustomPolinomial(new int[3] {
                2, 1, 0
            }, new double[3] {
                3, 18, -8
            });
            CustomPolinomial b = new CustomPolinomial(new int[4] {
                15, 3, 2, 0
            }, new double[4] {
                1, 8, -20, 5
            });
            CustomPolinomial c = new CustomPolinomial(new int[4] {
                15, 3, 2, 0
            }, new double[4] {
                1, 8, -20, 5
            });

            double time = 0;

            int[] arr = new int[4] {
                50, 100, 250, 1000
            };
            GcdSolver.GetBinaryGCD(0, 0, out time);


            Console.WriteLine(GcdSolver.GetBinaryGCD(out time, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13) + " " + time.ToString());
            Console.ReadKey();
        }
コード例 #3
0
        public void GetGCD_TwoOfThreeNumbersAreNull_NotNullGCD()
        {
            int    arrangeGCD = 256;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(out elapsedTime, 0, 0, -256);

            Debug.WriteLine("GCD(0, 0, -256) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #4
0
        public void GetGCD_SevenPositiveNumbers_NotNullGCD()
        {
            int    arrangeGCD = 2;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(out elapsedTime, 2, 4, 8, 16, 32, 64, 128);

            Debug.WriteLine("GCD(2, 4, 8, 16, 32, 64, 128) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #5
0
        public void GetGCD_OneOfTwoNumbersIsNegative_NotNullPositiveGCD()
        {
            int    arrangeGCD = 21;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(252, -105, out elapsedTime);

            Debug.WriteLine("GCD(252, -105) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #6
0
        public void GetGCD_ThreePositiveNumbers_NotNullGCD()
        {
            int    arrangeGCD = 256;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(out elapsedTime, 1024, 512, 256);

            Debug.WriteLine("GCD(1024, 512, 256) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #7
0
        public void GetGCD_TwoSameNegativeandPositiveNumbers_TheSamePositiveNumber()
        {
            int    arrangeGCD = 12345;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(-12345, 12345, out elapsedTime);

            Debug.WriteLine("GCD(12345, -12345) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #8
0
        public void GetGCD_OneOfTwoNumbersIsNull_GCDIsNull()
        {
            int    arrangeGCD = 252;
            double elapsedTime;
            int    actGCD = GcdSolver.GetGCD(252, 0, out elapsedTime);

            Debug.WriteLine("GCD(252, 0) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #9
0
        public void GetBinaryGCD_TenSameNegativeNumbers_NotNullGCD()
        {
            int    arrangeGCD = 13;
            double elapsedTime;
            int    actGCD = GcdSolver.GetBinaryGCD(out elapsedTime, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13);

            Debug.WriteLine("binary GCD(-13, -13, -13, -13, -13, -13, -13, -13, -13, -13) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #10
0
        public void GetBinaryGCD_FiveOfTenNumbersAreNegative_NotNullGCD()
        {
            int    arrangeGCD = 2;
            double elapsedTime;
            int    actGCD = GcdSolver.GetBinaryGCD(out elapsedTime, 2, -4, 8, -16, 32, -64, 128, -256, 512, -1024);

            Debug.WriteLine("binary GCD( 2, -4, 8, -16, 32, -64, 128, -256, 512, -1024) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #11
0
        public void GetBinaryGCD_OneOfTwoNumbersIsNegative_NotNullPositiveGCD()
        {
            int    arrangeGCD = 202;
            double elapsedTime;
            int    actGCD = GcdSolver.GetBinaryGCD(116150, -232704, out elapsedTime);

            Debug.WriteLine("binary GCD(116150, -232704) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #12
0
        public void GetBinaryGCD_TwoPositiveNumbers_NotNullGCD()
        {
            int    arrangeGCD = 13;
            double elapsedTime;
            int    actGCD = GcdSolver.GetBinaryGCD(169, 1326, out elapsedTime);

            Debug.WriteLine("binary GCD(169, 1326) = {0}, algorithm took {1}", actGCD, elapsedTime);
            Assert.AreEqual(arrangeGCD, actGCD);
        }
コード例 #13
0
 public void GetGCD_NoNumbersGiven_ArgumentException()
 {
     double elapsedTime;
     int    actGCD = GcdSolver.GetGCD(out elapsedTime);
 }