/** * main. * * @param args */ public static void main(string[] args) { int nbTests = (args != null && args.Length >= 1) ? int.Parse(args[0]) : NB_TESTS; int nbOfExclusionMinMax = (args != null && args.Length >= 2) ? int.Parse(args[1]) : NB_OF_EXCLUSION_MIN_MAX; List <long> executionTimes = new List <long>(nbTests); for (int i = nbTests; i != 0; i--) { executionTimes.Add(ArithmeticTest.testIntArithmetic()); } executionTimes.Sort(); Console.WriteLine("[ArithmeticTest], Calculation of " + NB_ARITHMETIC_TESTS + " int intResult = 1 int i = 1 while (i < " + INT_MAX + ") {intResult -= i++ intResult += i++ intResult *= i++ intResult /= i++ },, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(ArithmeticTest.testDoubleArithmetic()); } executionTimes.Sort(); Console.WriteLine("[ArithmeticTest], Calculation of " + NB_ARITHMETIC_TESTS + " double doubleResult = " + DOUBLE_MIN + " double i = " + DOUBLE_MIN + " while (i < " + DOUBLE_MAX + ") {doubleResult -= i++ doubleResult += i++ doubleResult *= i++ doubleResult /= i++ },, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(ArithmeticTest.testLongArithmetic()); } executionTimes.Sort(); Console.WriteLine("[ArithmeticTest], Calculation of " + NB_ARITHMETIC_TESTS + " long longResult = " + LONG_MIN + " long i = " + LONG_MIN + " while (i < " + LONG_MAX + ") { longResult -= i++ longResult += i++ longResult *= i++ longResult /= i++ },, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); }