author | Mark Wilcox <markw@symbian.org> |
Tue, 25 May 2010 13:20:47 +0100 | |
changeset 116 | 57eea1054f46 |
parent 90 | 947f0dc9f7a8 |
child 257 | 3e88ff8f41d5 |
permissions | -rw-r--r-- |
0 | 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 |
// |
|
17 |
||
18 |
#include <e32std.h> |
|
19 |
#include <e32std_private.h> |
|
20 |
#include <e32math.h> |
|
21 |
||
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); |
|
28 |
||
29 |
volatile TReal64 r(0); |
|
30 |
||
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}; |
|
35 |
||
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
36 |
GLREF_D volatile TUint Count; |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
37 |
|
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
38 |
#include <e32btrace.h> |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
39 |
|
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
40 |
void Step() |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
41 |
{ |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
42 |
if (++Count & 0xffff) |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
43 |
return; |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
44 |
BTrace4(BTrace::ETest1, 0, Count); |
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
45 |
} |
0 | 46 |
|
47 |
TInt TReal64Addition(TAny*) |
|
48 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
49 |
Count=0; |
0 | 50 |
|
51 |
FOREVER |
|
52 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
53 |
r=AntiOptimization[Count & 0xf]; |
0 | 54 |
r+=One; |
55 |
r+=One; |
|
56 |
r+=One; |
|
57 |
r+=One; |
|
58 |
r+=One; |
|
59 |
r+=One; |
|
60 |
r+=One; |
|
61 |
r+=One; |
|
62 |
r+=One; |
|
63 |
r+=One; |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
64 |
Step(); |
0 | 65 |
} |
66 |
} |
|
67 |
||
68 |
TInt TReal64Subtraction(TAny*) |
|
69 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
70 |
Count=0; |
0 | 71 |
|
72 |
FOREVER |
|
73 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
74 |
r=AntiOptimization[Count & 0xf]; |
0 | 75 |
r-=Ten; |
76 |
r-=Ten; |
|
77 |
r-=Ten; |
|
78 |
r-=Ten; |
|
79 |
r-=Ten; |
|
80 |
r-=Ten; |
|
81 |
r-=Ten; |
|
82 |
r-=Ten; |
|
83 |
r-=Ten; |
|
84 |
r-=Ten; |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
85 |
Step(); |
0 | 86 |
} |
87 |
} |
|
88 |
||
89 |
TInt TReal64Multiplication(TAny*) |
|
90 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
91 |
Count=0; |
0 | 92 |
FOREVER |
93 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
94 |
r=AntiOptimization[Count & 0xf]; |
0 | 95 |
r*=Pi; |
96 |
r*=Pi; |
|
97 |
r*=Pi; |
|
98 |
r*=Pi; |
|
99 |
r*=Pi; |
|
100 |
r*=Pi; |
|
101 |
r*=Pi; |
|
102 |
r*=Pi; |
|
103 |
r*=Pi; |
|
104 |
r*=Pi; |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
105 |
Step(); |
0 | 106 |
} |
107 |
} |
|
108 |
||
109 |
TInt TReal64Division(TAny*) |
|
110 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
111 |
Count=0; |
0 | 112 |
|
113 |
FOREVER |
|
114 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
115 |
r=AntiOptimization[Count & 0xf]; |
0 | 116 |
r/=Ten; |
117 |
r/=Ten; |
|
118 |
r/=Ten; |
|
119 |
r/=Ten; |
|
120 |
r/=Ten; |
|
121 |
r/=Ten; |
|
122 |
r/=Ten; |
|
123 |
r/=Ten; |
|
124 |
r/=Ten; |
|
125 |
r/=Ten; |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
126 |
Step(); |
0 | 127 |
} |
128 |
} |
|
129 |
||
130 |
TInt TRealSqrt(TAny*) |
|
131 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
132 |
Count=0; |
0 | 133 |
|
134 |
TReal r; |
|
135 |
||
136 |
FOREVER |
|
137 |
{ |
|
138 |
Math::Sqrt(r,2.0); |
|
139 |
Math::Sqrt(r,3.0); |
|
140 |
Math::Sqrt(r,4.0); |
|
141 |
Math::Sqrt(r,5.0); |
|
142 |
Math::Sqrt(r,3.14159265358979323846); |
|
143 |
Math::Sqrt(r,2.71828182845904524); |
|
144 |
Math::Sqrt(r,0.69314718055994531); |
|
145 |
Math::Sqrt(r,1.414213562373); |
|
146 |
Math::Sqrt(r,1.7320508078); |
|
147 |
Math::Sqrt(r,299792458.0); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
148 |
Step(); |
0 | 149 |
} |
150 |
} |
|
151 |
||
152 |
TInt TRealSin(TAny*) |
|
153 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
154 |
Count=0; |
0 | 155 |
|
156 |
TReal r=7; |
|
157 |
||
158 |
FOREVER |
|
159 |
{ |
|
160 |
Math::Sin(r,1.0); |
|
161 |
Math::Sin(r,2.0); |
|
162 |
Math::Sin(r,3.0); |
|
163 |
Math::Sin(r,4.0); |
|
164 |
Math::Sin(r,5.0); |
|
165 |
Math::Sin(r,6.0); |
|
166 |
Math::Sin(r,7.0); |
|
167 |
Math::Sin(r,8.0); |
|
168 |
Math::Sin(r,9.0); |
|
169 |
Math::Sin(r,-1.0); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
170 |
Step(); |
0 | 171 |
} |
172 |
} |
|
173 |
||
174 |
TInt TRealLn(TAny*) |
|
175 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
176 |
Count=0; |
0 | 177 |
|
178 |
TReal r=7; |
|
179 |
||
180 |
FOREVER |
|
181 |
{ |
|
182 |
Math::Ln(r,3.141592653589793238); |
|
183 |
Math::Ln(r,2.718281828459045235); |
|
184 |
Math::Ln(r,7.389056098930650227); |
|
185 |
Math::Ln(r,2.0); |
|
186 |
Math::Ln(r,3.0); |
|
187 |
Math::Ln(r,5.0); |
|
188 |
Math::Ln(r,7.0); |
|
189 |
Math::Ln(r,11.0); |
|
190 |
Math::Ln(r,13.0); |
|
191 |
Math::Ln(r,17.0); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
192 |
Step(); |
0 | 193 |
} |
194 |
} |
|
195 |
||
196 |
TInt TRealExp(TAny*) |
|
197 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
198 |
Count=0; |
0 | 199 |
|
200 |
TReal r=7; |
|
201 |
||
202 |
FOREVER |
|
203 |
{ |
|
204 |
Math::Exp(r,3.14159265358979323846); |
|
205 |
Math::Exp(r,-3.14159265358979323846); |
|
206 |
Math::Exp(r,0.69314718056); |
|
207 |
Math::Exp(r,-0.69314718056); |
|
208 |
Math::Exp(r,1.0); |
|
209 |
Math::Exp(r,-1.0); |
|
210 |
Math::Exp(r,2.0); |
|
211 |
Math::Exp(r,-2.0); |
|
212 |
Math::Exp(r,11.0); |
|
213 |
Math::Exp(r,-11.0); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
214 |
Step(); |
0 | 215 |
} |
216 |
} |
|
217 |
||
218 |
TInt TRealAsin(TAny*) |
|
219 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
220 |
Count=0; |
0 | 221 |
|
222 |
TReal r=7; |
|
223 |
||
224 |
FOREVER |
|
225 |
{ |
|
226 |
Math::ASin(r,0.1); |
|
227 |
Math::ASin(r,0.2); |
|
228 |
Math::ASin(r,0.3); |
|
229 |
Math::ASin(r,0.4); |
|
230 |
Math::ASin(r,0.5); |
|
231 |
Math::ASin(r,0.6); |
|
232 |
Math::ASin(r,0.7); |
|
233 |
Math::ASin(r,0.8); |
|
234 |
Math::ASin(r,0.9); |
|
235 |
Math::ASin(r,-0.9); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
236 |
Step(); |
0 | 237 |
} |
238 |
} |
|
239 |
||
240 |
TInt TRealAtan(TAny*) |
|
241 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
242 |
Count=0; |
0 | 243 |
|
244 |
TReal r=7; |
|
245 |
||
246 |
FOREVER |
|
247 |
{ |
|
248 |
Math::ATan(r,0.1); |
|
249 |
Math::ATan(r,0.3); |
|
250 |
Math::ATan(r,0.5); |
|
251 |
Math::ATan(r,0.7); |
|
252 |
Math::ATan(r,0.9); |
|
253 |
Math::ATan(r,1.1); |
|
254 |
Math::ATan(r,1.3); |
|
255 |
Math::ATan(r,1.5); |
|
256 |
Math::ATan(r,1.7); |
|
257 |
Math::ATan(r,2.9); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
258 |
Step(); |
0 | 259 |
} |
260 |
} |
|
261 |
||
262 |
TInt TRealTan(TAny*) |
|
263 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
264 |
Count=0; |
0 | 265 |
|
266 |
TReal r=7; |
|
267 |
||
268 |
FOREVER |
|
269 |
{ |
|
270 |
Math::Tan(r,1.0); |
|
271 |
Math::Tan(r,2.0); |
|
272 |
Math::Tan(r,3.0); |
|
273 |
Math::Tan(r,4.0); |
|
274 |
Math::Tan(r,5.0); |
|
275 |
Math::Tan(r,6.0); |
|
276 |
Math::Tan(r,7.0); |
|
277 |
Math::Tan(r,8.0); |
|
278 |
Math::Tan(r,9.0); |
|
279 |
Math::Tan(r,-1.0); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
280 |
Step(); |
0 | 281 |
} |
282 |
} |
|
283 |
||
284 |
TInt TRealPower(TAny*) |
|
285 |
{ |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
286 |
Count=0; |
0 | 287 |
|
288 |
TReal r=7; |
|
289 |
||
290 |
FOREVER |
|
291 |
{ |
|
292 |
Math::Pow(r,2.718281828459045235,2.718281828459045235); |
|
293 |
Math::Pow(r,3.141592653589793238,3.141592653589793238); |
|
294 |
Math::Pow(r,1.414213562373,3.1); |
|
295 |
Math::Pow(r,299792458,0.70710678118); |
|
296 |
Math::Pow(r,1.989e30,0.1); |
|
297 |
Math::Pow(r,0.86602540378,-1.6180334); |
|
298 |
Math::Pow(r,7.0,0.5772156649); |
|
299 |
Math::Pow(r,95.4,1.57079); |
|
300 |
Math::Pow(r,317.9,0.3333333333333333); |
|
301 |
Math::Pow(r,299792458,-2.718281828459045235); |
|
90
947f0dc9f7a8
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
302 |
Step(); |
0 | 303 |
} |
304 |
} |
|
305 |