kerneltest/e32test/bench/t_r64fnc.cpp
branchRCL_3
changeset 43 c1f20ce4abcf
parent 0 a41df078684a
child 44 3e88ff8f41d5
equal deleted inserted replaced
42:a179b74831c9 43:c1f20ce4abcf
    31 TReal64 AntiOptimization[16] = {0.1,	1,	3.14159265358979323846,		10.01,
    31 TReal64 AntiOptimization[16] = {0.1,	1,	3.14159265358979323846,		10.01,
    32 								2.7,	3,	27.2,	11.23,
    32 								2.7,	3,	27.2,	11.23,
    33 								76.1,	9,	56.1,	1/9,
    33 								76.1,	9,	56.1,	1/9,
    34 								1/3,	22,	99.7,	42};
    34 								1/3,	22,	99.7,	42};
    35 
    35 
    36 GLREF_D volatile TUint count;
    36 GLREF_D volatile TUint Count;
       
    37 
       
    38 #include <e32btrace.h>
       
    39 
       
    40 void Step()
       
    41 	{
       
    42 	if (++Count & 0xffff)
       
    43 		return;
       
    44 	BTrace4(BTrace::ETest1, 0, Count);
       
    45 	}
    37 
    46 
    38 TInt TReal64Addition(TAny*)
    47 TInt TReal64Addition(TAny*)
    39     {
    48     {
    40 	count=0;
    49 	Count=0;
    41 
    50 
    42     FOREVER
    51     FOREVER
    43         {
    52         {
    44 		r=AntiOptimization[count & 0xf];
    53 		r=AntiOptimization[Count & 0xf];
    45 		r+=One;
    54 		r+=One;
    46 		r+=One;
    55 		r+=One;
    47 		r+=One;
    56 		r+=One;
    48 		r+=One;
    57 		r+=One;
    49 		r+=One;
    58 		r+=One;
    50 		r+=One;
    59 		r+=One;
    51 		r+=One;
    60 		r+=One;
    52 		r+=One;
    61 		r+=One;
    53 		r+=One;
    62 		r+=One;
    54 		r+=One;
    63 		r+=One;
    55         count++;
    64         Step();
    56         }
    65         }
    57     }
    66     }
    58 
    67 
    59 TInt TReal64Subtraction(TAny*)
    68 TInt TReal64Subtraction(TAny*)
    60     {
    69     {
    61 	count=0;
    70 	Count=0;
    62 
    71 
    63     FOREVER
    72     FOREVER
    64         {
    73         {
    65 		r=AntiOptimization[count & 0xf];
    74 		r=AntiOptimization[Count & 0xf];
    66 		r-=Ten;
    75 		r-=Ten;
    67 		r-=Ten;
    76 		r-=Ten;
    68 		r-=Ten;
    77 		r-=Ten;
    69 		r-=Ten;
    78 		r-=Ten;
    70 		r-=Ten;
    79 		r-=Ten;
    71 		r-=Ten;
    80 		r-=Ten;
    72 		r-=Ten;
    81 		r-=Ten;
    73 		r-=Ten;
    82 		r-=Ten;
    74 		r-=Ten;
    83 		r-=Ten;
    75 		r-=Ten;
    84 		r-=Ten;
    76         count++;
    85         Step();
    77         }
    86         }
    78     }
    87     }
    79 
    88 
    80 TInt TReal64Multiplication(TAny*)
    89 TInt TReal64Multiplication(TAny*)
    81     {
    90     {
    82 	count=0;
    91 	Count=0;
    83     FOREVER
    92     FOREVER
    84         {
    93         {
    85 		r=AntiOptimization[count & 0xf];
    94 		r=AntiOptimization[Count & 0xf];
    86 		r*=Pi;
    95 		r*=Pi;
    87 		r*=Pi;
    96 		r*=Pi;
    88 		r*=Pi;
    97 		r*=Pi;
    89 		r*=Pi;
    98 		r*=Pi;
    90 		r*=Pi;
    99 		r*=Pi;
    91 		r*=Pi;
   100 		r*=Pi;
    92 		r*=Pi;
   101 		r*=Pi;
    93 		r*=Pi;
   102 		r*=Pi;
    94 		r*=Pi;
   103 		r*=Pi;
    95 		r*=Pi;
   104 		r*=Pi;
    96         count++;
   105         Step();
    97         }
   106         }
    98     }
   107     }
    99 
   108 
   100 TInt TReal64Division(TAny*)
   109 TInt TReal64Division(TAny*)
   101     {
   110     {
   102 	count=0;
   111 	Count=0;
   103 	
   112 	
   104     FOREVER
   113     FOREVER
   105         {
   114         {
   106 		r=AntiOptimization[count & 0xf];
   115 		r=AntiOptimization[Count & 0xf];
   107 		r/=Ten;
   116 		r/=Ten;
   108 		r/=Ten;
   117 		r/=Ten;
   109 		r/=Ten;
   118 		r/=Ten;
   110 		r/=Ten;
   119 		r/=Ten;
   111 		r/=Ten;
   120 		r/=Ten;
   112 		r/=Ten;
   121 		r/=Ten;
   113 		r/=Ten;
   122 		r/=Ten;
   114 		r/=Ten;
   123 		r/=Ten;
   115 		r/=Ten;
   124 		r/=Ten;
   116 		r/=Ten;
   125 		r/=Ten;
   117         count++;
   126         Step();
   118         }
   127         }
   119     }
   128     }
   120 
   129 
   121 TInt TRealSqrt(TAny*)
   130 TInt TRealSqrt(TAny*)
   122     {
   131     {
       
   132 	Count=0;
   123 
   133 
   124 	TReal r;
   134 	TReal r;
   125 
   135 
   126     FOREVER
   136     FOREVER
   127         {
   137         {
   133 		Math::Sqrt(r,2.71828182845904524);
   143 		Math::Sqrt(r,2.71828182845904524);
   134 		Math::Sqrt(r,0.69314718055994531);
   144 		Math::Sqrt(r,0.69314718055994531);
   135 		Math::Sqrt(r,1.414213562373);
   145 		Math::Sqrt(r,1.414213562373);
   136 		Math::Sqrt(r,1.7320508078);
   146 		Math::Sqrt(r,1.7320508078);
   137 		Math::Sqrt(r,299792458.0);
   147 		Math::Sqrt(r,299792458.0);
   138         count++;
   148         Step();
   139         }
   149         }
   140     }
   150     }
   141 
   151 
   142 TInt TRealSin(TAny*)
   152 TInt TRealSin(TAny*)
   143     {
   153     {
       
   154 	Count=0;
   144 
   155 
   145 	TReal r=7;
   156 	TReal r=7;
   146 
   157 
   147     FOREVER
   158     FOREVER
   148         {
   159         {
   154 		Math::Sin(r,6.0);
   165 		Math::Sin(r,6.0);
   155 		Math::Sin(r,7.0);
   166 		Math::Sin(r,7.0);
   156 		Math::Sin(r,8.0);
   167 		Math::Sin(r,8.0);
   157 		Math::Sin(r,9.0);
   168 		Math::Sin(r,9.0);
   158 		Math::Sin(r,-1.0);
   169 		Math::Sin(r,-1.0);
   159         count++;
   170         Step();
   160         }
   171         }
   161     }
   172     }
   162 
   173 
   163 TInt TRealLn(TAny*)
   174 TInt TRealLn(TAny*)
   164     {
   175     {
       
   176 	Count=0;
   165 
   177 
   166 	TReal r=7;
   178 	TReal r=7;
   167 
   179 
   168     FOREVER
   180     FOREVER
   169         {
   181         {
   175 		Math::Ln(r,5.0);
   187 		Math::Ln(r,5.0);
   176 		Math::Ln(r,7.0);
   188 		Math::Ln(r,7.0);
   177 		Math::Ln(r,11.0);
   189 		Math::Ln(r,11.0);
   178 		Math::Ln(r,13.0);
   190 		Math::Ln(r,13.0);
   179 		Math::Ln(r,17.0);
   191 		Math::Ln(r,17.0);
   180         count++;
   192         Step();
   181         }
   193         }
   182     }
   194     }
   183 
   195 
   184 TInt TRealExp(TAny*)
   196 TInt TRealExp(TAny*)
   185     {
   197     {
       
   198 	Count=0;
   186 
   199 
   187 	TReal r=7;
   200 	TReal r=7;
   188 
   201 
   189     FOREVER
   202     FOREVER
   190         {
   203         {
   196 		Math::Exp(r,-1.0);
   209 		Math::Exp(r,-1.0);
   197 		Math::Exp(r,2.0);
   210 		Math::Exp(r,2.0);
   198 		Math::Exp(r,-2.0);
   211 		Math::Exp(r,-2.0);
   199 		Math::Exp(r,11.0);
   212 		Math::Exp(r,11.0);
   200 		Math::Exp(r,-11.0);
   213 		Math::Exp(r,-11.0);
   201         count++;
   214         Step();
   202         }
   215         }
   203     }
   216     }
   204 
   217 
   205 TInt TRealAsin(TAny*)
   218 TInt TRealAsin(TAny*)
   206     {
   219     {
       
   220 	Count=0;
   207 
   221 
   208 	TReal r=7;
   222 	TReal r=7;
   209 
   223 
   210     FOREVER
   224     FOREVER
   211         {
   225         {
   217 		Math::ASin(r,0.6);
   231 		Math::ASin(r,0.6);
   218 		Math::ASin(r,0.7);
   232 		Math::ASin(r,0.7);
   219 		Math::ASin(r,0.8);
   233 		Math::ASin(r,0.8);
   220 		Math::ASin(r,0.9);
   234 		Math::ASin(r,0.9);
   221 		Math::ASin(r,-0.9);
   235 		Math::ASin(r,-0.9);
   222         count++;
   236         Step();
   223         }
   237         }
   224     }
   238     }
   225 
   239 
   226 TInt TRealAtan(TAny*)
   240 TInt TRealAtan(TAny*)
   227     {
   241     {
       
   242 	Count=0;
   228 
   243 
   229 	TReal r=7;
   244 	TReal r=7;
   230 
   245 
   231     FOREVER
   246     FOREVER
   232         {
   247         {
   238 		Math::ATan(r,1.1);
   253 		Math::ATan(r,1.1);
   239 		Math::ATan(r,1.3);
   254 		Math::ATan(r,1.3);
   240 		Math::ATan(r,1.5);
   255 		Math::ATan(r,1.5);
   241 		Math::ATan(r,1.7);
   256 		Math::ATan(r,1.7);
   242 		Math::ATan(r,2.9);
   257 		Math::ATan(r,2.9);
   243         count++;
   258         Step();
   244         }
   259         }
   245     }
   260     }
   246 
   261 
   247 TInt TRealTan(TAny*)
   262 TInt TRealTan(TAny*)
   248     {
   263     {
       
   264 	Count=0;
   249 
   265 
   250 	TReal r=7;
   266 	TReal r=7;
   251 
   267 
   252     FOREVER
   268     FOREVER
   253         {
   269         {
   259 		Math::Tan(r,6.0);
   275 		Math::Tan(r,6.0);
   260 		Math::Tan(r,7.0);
   276 		Math::Tan(r,7.0);
   261 		Math::Tan(r,8.0);
   277 		Math::Tan(r,8.0);
   262 		Math::Tan(r,9.0);
   278 		Math::Tan(r,9.0);
   263 		Math::Tan(r,-1.0);
   279 		Math::Tan(r,-1.0);
   264         count++;
   280         Step();
   265         }
   281         }
   266     }
   282     }
   267 
   283 
   268 TInt TRealPower(TAny*)
   284 TInt TRealPower(TAny*)
   269     {
   285     {
       
   286 	Count=0;
   270 
   287 
   271 	TReal r=7;
   288 	TReal r=7;
   272 
   289 
   273     FOREVER
   290     FOREVER
   274         {
   291         {
   280 		Math::Pow(r,0.86602540378,-1.6180334);
   297 		Math::Pow(r,0.86602540378,-1.6180334);
   281 		Math::Pow(r,7.0,0.5772156649);
   298 		Math::Pow(r,7.0,0.5772156649);
   282 		Math::Pow(r,95.4,1.57079);
   299 		Math::Pow(r,95.4,1.57079);
   283 		Math::Pow(r,317.9,0.3333333333333333);
   300 		Math::Pow(r,317.9,0.3333333333333333);
   284 		Math::Pow(r,299792458,-2.718281828459045235);
   301 		Math::Pow(r,299792458,-2.718281828459045235);
   285         count++;
   302         Step();
   286         }
   303         }
   287     }
   304     }
   288 
   305