Exemplo n.º 1
0
    /**
     * 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();
    }