public int SteinsAlgorithmTwoNumbTest(int numOne, int numTwo) //, out double elapsedTime) { double elapsedTime; var calculator = new AlgorithmGCD(numOne, numTwo); //,out elapsedTime); return(calculator.SteinsAlgorithm(numOne, numTwo, out elapsedTime)); }
/// <summary> /// Calculate GCD of parameters and returns the resualt or the time /// </summary> /// <param name="version"></param> /// <param name="parameters"></param> /// <param name="timeIt"> /// In case of input true, method will return time /// in milliseconds to complete Euclid algorithm /// </param> /// <returns></returns> public long FindGCD(Algorithm version, int[] parameters, bool timeIt = false) { long result; AlgorithmGCD findMethod = version switch { Algorithm.Euclid => EuclidGCD, Algorithm.BinaryEuclid => BinaryEuclidGCD, _ => throw new NotImplementedException(), }; if (parameters == null) { throw new ArgumentNullException(parameters.ToString()); } Stopwatch timer = new Stopwatch(); timer.Start(); result = findMethod(parameters); timer.Stop(); if (timeIt) { return(timer.ElapsedMilliseconds); } return(result); }
public int EuclideanAlgorithmTest(int numOne, int numTwo, int numThree, int numFour) { double elapsedTime; var calculator = new AlgorithmGCD(numOne, numTwo, numThree, numFour); return(calculator.EuclideanAlgorithm(numOne, numTwo, numThree, numFour, out elapsedTime)); }
public int EuclideanAlgorithm_ForTwoNumb_Test(int numOne, int numTwo) { double elapsedTime; var calculator = new AlgorithmGCD(numOne, numTwo); return(calculator.EuclideanAlgorithm(numOne, numTwo, out elapsedTime)); }
public void EuclideanMethod_DifParam_GCD_WithoutTime() { Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, 24), 8); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, -24), 8); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, 0), 40); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, 24, 32), 8); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, -24, 32), 8); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(40, 24, 0), 8); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(50, 25, 10, 95, -100), 5); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(50, 25, 10, 95, 100), 5); Assert.AreEqual(AlgorithmGCD.EuclideanMethod(50, 25, 10, 0, -100), 5); }
public void BinEuclideanMethod_DifParam_GCD() { Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 0), 40); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 2), 2); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, -2), 2); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 24, 32), 8); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 24, 0), 8); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 24, -8), 8); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(40, 24, 32), 8); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(50, 25, 10, 95, 100), 5); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(50, 25, 10, 95, -100), 5); Assert.AreEqual(AlgorithmGCD.BinEuclideanMethod(50, 25, 10, 0, 100), 5); }
public void GivenPrepareDataForHistogram_ForTwoParamsWhenOutIsOne() { // Arrange List <DataForTheGraph> dataForTheGraph = new List <DataForTheGraph>(); AlgorithmGCD actualAlgorithmGCD = new AlgorithmGCD(2, 3); actualAlgorithmGCD.PrepareDataForTheGraph(2, 3); List <DataForTheGraph> actual = actualAlgorithmGCD.PrepareDataForTheGraph(2, 4); String numParams = "Number of Gcd parameters: " + 2; // Act dataForTheGraph.Add(new DataForTheGraph(numParams, 0, 0)); var expectedOne = dataForTheGraph.Count; // Assert Assert.AreEqual(expectedOne, actual.Count); }
public int GCDBinaryTestsThree(int firstNum, int secondNum, int thirdNum) { return(AlgorithmGCD.SearchViaBinary(firstNum, secondNum, thirdNum, out int mSec)); }
public int GCDTestsThree(int firstNum, int secondNum, int thirdNum) { return(AlgorithmGCD.SearchViaRemainder(firstNum, secondNum, thirdNum, out int mSec)); }
public void Null_Exc() { AlgorithmGCD.EuclideanMethod(); AlgorithmGCD.BinEuclideanMethod(); }
private static int GCD(out TimeSpan runTime, AlgorithmGCD algorithm, int[] array) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); if (array.Length == 0) throw new ArgumentException("array is empty", "array"); if (array.Length == 1) { stopWatch.Stop(); runTime = stopWatch.Elapsed; return array[0]; } int intermediateGCD = algorithm(out runTime, array[0], array[1]); for (int i = 2; i < array.Length; i++) intermediateGCD = algorithm(out runTime, intermediateGCD, array[i]); int finalGCD = intermediateGCD; stopWatch.Stop(); runTime = stopWatch.Elapsed; return finalGCD; }
private static int GCD(out TimeSpan runTime, AlgorithmGCD algorithm, int a, int b, int c) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); int intermediateGCD = algorithm(out runTime, a, b); int finalGCD = algorithm(out runTime, intermediateGCD, c); stopWatch.Stop(); runTime = stopWatch.Elapsed; return finalGCD; }
private static int GCD(out TimeSpan runTime, AlgorithmGCD algorithm, int a, int b) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); int result = algorithm(a, b); stopWatch.Stop(); runTime = stopWatch.Elapsed; return result; }