diff -r 000000000000 -r a41df078684a kerneltest/e32test/bench/t_r64fnc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kerneltest/e32test/bench/t_r64fnc.cpp Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,288 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32test\bench\t_r64fnc.cpp +// +// + +#include +#include +#include + +volatile TReal64 Zero(0); +volatile TReal64 One(1); +volatile TReal64 Two(2); +volatile TReal64 Ten(10); +volatile TReal64 Pi(3.14159265358979323846); +volatile TReal64 TenPoint01(10.01); + +volatile TReal64 r(0); + +TReal64 AntiOptimization[16] = {0.1, 1, 3.14159265358979323846, 10.01, + 2.7, 3, 27.2, 11.23, + 76.1, 9, 56.1, 1/9, + 1/3, 22, 99.7, 42}; + +GLREF_D volatile TUint count; + +TInt TReal64Addition(TAny*) + { + count=0; + + FOREVER + { + r=AntiOptimization[count & 0xf]; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + r+=One; + count++; + } + } + +TInt TReal64Subtraction(TAny*) + { + count=0; + + FOREVER + { + r=AntiOptimization[count & 0xf]; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + r-=Ten; + count++; + } + } + +TInt TReal64Multiplication(TAny*) + { + count=0; + FOREVER + { + r=AntiOptimization[count & 0xf]; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + r*=Pi; + count++; + } + } + +TInt TReal64Division(TAny*) + { + count=0; + + FOREVER + { + r=AntiOptimization[count & 0xf]; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + r/=Ten; + count++; + } + } + +TInt TRealSqrt(TAny*) + { + + TReal r; + + FOREVER + { + Math::Sqrt(r,2.0); + Math::Sqrt(r,3.0); + Math::Sqrt(r,4.0); + Math::Sqrt(r,5.0); + Math::Sqrt(r,3.14159265358979323846); + Math::Sqrt(r,2.71828182845904524); + Math::Sqrt(r,0.69314718055994531); + Math::Sqrt(r,1.414213562373); + Math::Sqrt(r,1.7320508078); + Math::Sqrt(r,299792458.0); + count++; + } + } + +TInt TRealSin(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::Sin(r,1.0); + Math::Sin(r,2.0); + Math::Sin(r,3.0); + Math::Sin(r,4.0); + Math::Sin(r,5.0); + Math::Sin(r,6.0); + Math::Sin(r,7.0); + Math::Sin(r,8.0); + Math::Sin(r,9.0); + Math::Sin(r,-1.0); + count++; + } + } + +TInt TRealLn(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::Ln(r,3.141592653589793238); + Math::Ln(r,2.718281828459045235); + Math::Ln(r,7.389056098930650227); + Math::Ln(r,2.0); + Math::Ln(r,3.0); + Math::Ln(r,5.0); + Math::Ln(r,7.0); + Math::Ln(r,11.0); + Math::Ln(r,13.0); + Math::Ln(r,17.0); + count++; + } + } + +TInt TRealExp(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::Exp(r,3.14159265358979323846); + Math::Exp(r,-3.14159265358979323846); + Math::Exp(r,0.69314718056); + Math::Exp(r,-0.69314718056); + Math::Exp(r,1.0); + Math::Exp(r,-1.0); + Math::Exp(r,2.0); + Math::Exp(r,-2.0); + Math::Exp(r,11.0); + Math::Exp(r,-11.0); + count++; + } + } + +TInt TRealAsin(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::ASin(r,0.1); + Math::ASin(r,0.2); + Math::ASin(r,0.3); + Math::ASin(r,0.4); + Math::ASin(r,0.5); + Math::ASin(r,0.6); + Math::ASin(r,0.7); + Math::ASin(r,0.8); + Math::ASin(r,0.9); + Math::ASin(r,-0.9); + count++; + } + } + +TInt TRealAtan(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::ATan(r,0.1); + Math::ATan(r,0.3); + Math::ATan(r,0.5); + Math::ATan(r,0.7); + Math::ATan(r,0.9); + Math::ATan(r,1.1); + Math::ATan(r,1.3); + Math::ATan(r,1.5); + Math::ATan(r,1.7); + Math::ATan(r,2.9); + count++; + } + } + +TInt TRealTan(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::Tan(r,1.0); + Math::Tan(r,2.0); + Math::Tan(r,3.0); + Math::Tan(r,4.0); + Math::Tan(r,5.0); + Math::Tan(r,6.0); + Math::Tan(r,7.0); + Math::Tan(r,8.0); + Math::Tan(r,9.0); + Math::Tan(r,-1.0); + count++; + } + } + +TInt TRealPower(TAny*) + { + + TReal r=7; + + FOREVER + { + Math::Pow(r,2.718281828459045235,2.718281828459045235); + Math::Pow(r,3.141592653589793238,3.141592653589793238); + Math::Pow(r,1.414213562373,3.1); + Math::Pow(r,299792458,0.70710678118); + Math::Pow(r,1.989e30,0.1); + Math::Pow(r,0.86602540378,-1.6180334); + Math::Pow(r,7.0,0.5772156649); + Math::Pow(r,95.4,1.57079); + Math::Pow(r,317.9,0.3333333333333333); + Math::Pow(r,299792458,-2.718281828459045235); + count++; + } + } +