author | sl |
Tue, 10 Jun 2014 14:32:02 +0200 | |
changeset 1 | 260cb5ec6c19 |
permissions | -rw-r--r-- |
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
7 //
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
10 //
11 // Contributors:
12 //
13 // Description:
14 // e32test\bench\t_r64fnc.cpp
15 //
16 //
18 #include <e32std.h>
19 #include <e32std_private.h>
20 #include <e32math.h>
22 volatile TReal64 Zero(0);
23 volatile TReal64 One(1);
24 volatile TReal64 Two(2);
25 volatile TReal64 Ten(10);
26 volatile TReal64 Pi(3.14159265358979323846);
27 volatile TReal64 TenPoint01(10.01);
29 volatile TReal64 r(0);
31 TReal64 AntiOptimization[16] = {0.1, 1, 3.14159265358979323846, 10.01,
32 2.7, 3, 27.2, 11.23,
33 76.1, 9, 56.1, 1/9,
34 1/3, 22, 99.7, 42};
36 GLREF_D volatile TUint count;
38 TInt TReal64Addition(TAny*)
39 {
40 count=0;
42 FOREVER
43 {
44 r=AntiOptimization[count & 0xf];
45 r+=One;
46 r+=One;
47 r+=One;
48 r+=One;
49 r+=One;
50 r+=One;
51 r+=One;
52 r+=One;
53 r+=One;
54 r+=One;
55 count++;
56 }
57 }
59 TInt TReal64Subtraction(TAny*)
60 {
61 count=0;
63 FOREVER
64 {
65 r=AntiOptimization[count & 0xf];
66 r-=Ten;
67 r-=Ten;
68 r-=Ten;
69 r-=Ten;
70 r-=Ten;
71 r-=Ten;
72 r-=Ten;
73 r-=Ten;
74 r-=Ten;
75 r-=Ten;
76 count++;
77 }
78 }
80 TInt TReal64Multiplication(TAny*)
81 {
82 count=0;
83 FOREVER
84 {
85 r=AntiOptimization[count & 0xf];
86 r*=Pi;
87 r*=Pi;
88 r*=Pi;
89 r*=Pi;
90 r*=Pi;
91 r*=Pi;
92 r*=Pi;
93 r*=Pi;
94 r*=Pi;
95 r*=Pi;
96 count++;
97 }
98 }
100 TInt TReal64Division(TAny*)
101 {
102 count=0;
104 FOREVER
105 {
106 r=AntiOptimization[count & 0xf];
107 r/=Ten;
108 r/=Ten;
109 r/=Ten;
110 r/=Ten;
111 r/=Ten;
112 r/=Ten;
113 r/=Ten;
114 r/=Ten;
115 r/=Ten;
116 r/=Ten;
117 count++;
118 }
119 }
121 TInt TRealSqrt(TAny*)
122 {
124 TReal r;
126 FOREVER
127 {
128 Math::Sqrt(r,2.0);
129 Math::Sqrt(r,3.0);
130 Math::Sqrt(r,4.0);
131 Math::Sqrt(r,5.0);
132 Math::Sqrt(r,3.14159265358979323846);
133 Math::Sqrt(r,2.71828182845904524);
134 Math::Sqrt(r,0.69314718055994531);
135 Math::Sqrt(r,1.414213562373);
136 Math::Sqrt(r,1.7320508078);
137 Math::Sqrt(r,299792458.0);
138 count++;
139 }
140 }
142 TInt TRealSin(TAny*)
143 {
145 TReal r=7;
147 FOREVER
148 {
149 Math::Sin(r,1.0);
150 Math::Sin(r,2.0);
151 Math::Sin(r,3.0);
152 Math::Sin(r,4.0);
153 Math::Sin(r,5.0);
154 Math::Sin(r,6.0);
155 Math::Sin(r,7.0);
156 Math::Sin(r,8.0);
157 Math::Sin(r,9.0);
158 Math::Sin(r,-1.0);
159 count++;
160 }
161 }
163 TInt TRealLn(TAny*)
164 {
166 TReal r=7;
168 FOREVER
169 {
170 Math::Ln(r,3.141592653589793238);
171 Math::Ln(r,2.718281828459045235);
172 Math::Ln(r,7.389056098930650227);
173 Math::Ln(r,2.0);
174 Math::Ln(r,3.0);
175 Math::Ln(r,5.0);
176 Math::Ln(r,7.0);
177 Math::Ln(r,11.0);
178 Math::Ln(r,13.0);
179 Math::Ln(r,17.0);
180 count++;
181 }
182 }
184 TInt TRealExp(TAny*)
185 {
187 TReal r=7;
189 FOREVER
190 {
191 Math::Exp(r,3.14159265358979323846);
192 Math::Exp(r,-3.14159265358979323846);
193 Math::Exp(r,0.69314718056);
194 Math::Exp(r,-0.69314718056);
195 Math::Exp(r,1.0);
196 Math::Exp(r,-1.0);
197 Math::Exp(r,2.0);
198 Math::Exp(r,-2.0);
199 Math::Exp(r,11.0);
200 Math::Exp(r,-11.0);
201 count++;
202 }
203 }
205 TInt TRealAsin(TAny*)
206 {
208 TReal r=7;
210 FOREVER
211 {
212 Math::ASin(r,0.1);
213 Math::ASin(r,0.2);
214 Math::ASin(r,0.3);
215 Math::ASin(r,0.4);
216 Math::ASin(r,0.5);
217 Math::ASin(r,0.6);
218 Math::ASin(r,0.7);
219 Math::ASin(r,0.8);
220 Math::ASin(r,0.9);
221 Math::ASin(r,-0.9);
222 count++;
223 }
224 }
226 TInt TRealAtan(TAny*)
227 {
229 TReal r=7;
231 FOREVER
232 {
233 Math::ATan(r,0.1);
234 Math::ATan(r,0.3);
235 Math::ATan(r,0.5);
236 Math::ATan(r,0.7);
237 Math::ATan(r,0.9);
238 Math::ATan(r,1.1);
239 Math::ATan(r,1.3);
240 Math::ATan(r,1.5);
241 Math::ATan(r,1.7);
242 Math::ATan(r,2.9);
243 count++;
244 }
245 }
247 TInt TRealTan(TAny*)
248 {
250 TReal r=7;
252 FOREVER
253 {
254 Math::Tan(r,1.0);
255 Math::Tan(r,2.0);
256 Math::Tan(r,3.0);
257 Math::Tan(r,4.0);
258 Math::Tan(r,5.0);
259 Math::Tan(r,6.0);
260 Math::Tan(r,7.0);
261 Math::Tan(r,8.0);
262 Math::Tan(r,9.0);
263 Math::Tan(r,-1.0);
264 count++;
265 }
266 }
268 TInt TRealPower(TAny*)
269 {
271 TReal r=7;
273 FOREVER
274 {
275 Math::Pow(r,2.718281828459045235,2.718281828459045235);
276 Math::Pow(r,3.141592653589793238,3.141592653589793238);
277 Math::Pow(r,1.414213562373,3.1);
278 Math::Pow(r,299792458,0.70710678118);
279 Math::Pow(r,1.989e30,0.1);
280 Math::Pow(r,0.86602540378,-1.6180334);
281 Math::Pow(r,7.0,0.5772156649);
282 Math::Pow(r,95.4,1.57079);
283 Math::Pow(r,317.9,0.3333333333333333);
284 Math::Pow(r,299792458,-2.718281828459045235);
285 count++;
286 }
287 }