Beispiel #1
0
    static void CalculateSinus()
    {
        Console.Write("Sinus of float:   ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            float result = 1000000f;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                result = (float)Math.Sin(result);
            }
        });

        Console.Write("Sinus of double:  ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            double result = 1000000.0;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                result = Math.Sin(result);
            }
        });

        Console.Write("Sinus of decimal: ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            decimal result = 1000000m;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                result = (decimal)Math.Sin((double)result);
            }
        });
    }
Beispiel #2
0
    static void CalculateNaturalLogarithm()
    {
        Console.Write("Natural logarithm of float:   ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            float result = 1000000f;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                result = (float)Math.Log(result, Math.E);
            }
        });

        Console.Write("Natural logarithm of double:  ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            double result = 1000000.0;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                result = Math.Log(result, Math.E);
            }
        });

        Console.Write("Natural logarithm of decimal: ");
        ComparePreformanceOfAritmeticOperations.DisplayExecutionTime(() =>
        {
            decimal result = 1000000m;
            for (int i = 0; i < NumberOfOperations; i++)
            {
                //This method cause overflow
                //result = (decimal)Math.Log((double)result, Math.E);
            }
        });
    }