author | sl@SLION-WIN7.fritz.box |
Fri, 15 Jun 2012 03:10:57 +0200 | |
changeset 0 | bde4ae8d615e |
permissions | -rw-r--r-- |
1 // Copyright (c) 1996-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_t64fnc.cpp
15 //
16 //
18 #include <e32std.h>
19 #include <e32std_private.h>
21 GLREF_D volatile TInt64 count;
22 GLREF_D volatile TInt64 a, b, c;
24 TInt TInt64Addition(TAny*)
25 {
27 TInt64 al = a;
28 const TInt64 bl = b;
29 const TInt64 x = 1;
30 for(;;)
31 {
32 al +=bl;
33 al +=bl;
34 al +=bl;
35 al +=bl;
36 al +=bl;
37 al +=bl;
38 al +=bl;
39 al +=bl;
40 al +=bl;
41 al +=bl;
43 al +=bl;
44 al +=bl;
45 al +=bl;
46 al +=bl;
47 al +=bl;
48 al +=bl;
49 al +=bl;
50 al +=bl;
51 al +=bl;
52 al +=bl;
54 al +=bl;
55 al +=bl;
56 al +=bl;
57 al +=bl;
58 al +=bl;
59 al +=bl;
60 al +=bl;
61 al +=bl;
62 al +=bl;
63 al +=bl;
65 al +=bl;
66 al +=bl;
67 al +=bl;
68 al +=bl;
69 al +=bl;
70 al +=bl;
71 al +=bl;
72 al +=bl;
73 al +=bl;
74 al +=bl;
76 al +=bl;
77 al +=bl;
78 al +=bl;
79 al +=bl;
80 al +=bl;
81 al +=bl;
82 al +=bl;
83 al +=bl;
84 al +=bl;
85 al +=bl;
87 al +=bl;
88 al +=bl;
89 al +=bl;
90 al +=bl;
91 al +=bl;
92 al +=bl;
93 al +=bl;
94 al +=bl;
95 al +=bl;
96 al +=bl;
98 al +=bl;
99 al +=bl;
100 al +=bl;
101 al +=bl;
102 al +=bl;
103 al +=bl;
104 al +=bl;
105 al +=bl;
106 al +=bl;
107 al +=bl;
109 al +=bl;
110 al +=bl;
111 al +=bl;
112 al +=bl;
113 al +=bl;
114 al +=bl;
115 al +=bl;
116 al +=bl;
117 al +=bl;
118 al +=bl;
120 al +=bl;
121 al +=bl;
122 al +=bl;
123 al +=bl;
124 al +=bl;
125 al +=bl;
126 al +=bl;
127 al +=bl;
128 al +=bl;
129 al +=bl;
131 al +=bl;
132 al +=bl;
133 al +=bl;
134 al +=bl;
135 al +=bl;
136 al +=bl;
137 al +=bl;
138 al +=bl;
139 al +=bl;
140 al +=bl;
142 a = al;
143 count += x;
144 if (!count)
145 break;
146 }
147 return (TInt)count;
148 }
150 TInt TInt64Subtraction(TAny*)
151 {
153 a = MAKE_TINT64(0x31514531,0x93471672u);
154 b = MAKE_TINT64(0x51514531,0x33847162);
156 TInt64 al = a;
157 const TInt64 bl = b;
158 const TInt64 x = 1;
159 for(;;)
160 {
161 al -=bl;
162 al -=bl;
163 al -=bl;
164 al -=bl;
165 al -=bl;
166 al -=bl;
167 al -=bl;
168 al -=bl;
169 al -=bl;
170 al -=bl;
172 al -=bl;
173 al -=bl;
174 al -=bl;
175 al -=bl;
176 al -=bl;
177 al -=bl;
178 al -=bl;
179 al -=bl;
180 al -=bl;
181 al -=bl;
183 al -=bl;
184 al -=bl;
185 al -=bl;
186 al -=bl;
187 al -=bl;
188 al -=bl;
189 al -=bl;
190 al -=bl;
191 al -=bl;
192 al -=bl;
194 al -=bl;
195 al -=bl;
196 al -=bl;
197 al -=bl;
198 al -=bl;
199 al -=bl;
200 al -=bl;
201 al -=bl;
202 al -=bl;
203 al -=bl;
205 al -=bl;
206 al -=bl;
207 al -=bl;
208 al -=bl;
209 al -=bl;
210 al -=bl;
211 al -=bl;
212 al -=bl;
213 al -=bl;
214 al -=bl;
216 al -=bl;
217 al -=bl;
218 al -=bl;
219 al -=bl;
220 al -=bl;
221 al -=bl;
222 al -=bl;
223 al -=bl;
224 al -=bl;
225 al -=bl;
227 al -=bl;
228 al -=bl;
229 al -=bl;
230 al -=bl;
231 al -=bl;
232 al -=bl;
233 al -=bl;
234 al -=bl;
235 al -=bl;
236 al -=bl;
238 al -=bl;
239 al -=bl;
240 al -=bl;
241 al -=bl;
242 al -=bl;
243 al -=bl;
244 al -=bl;
245 al -=bl;
246 al -=bl;
247 al -=bl;
249 al -=bl;
250 al -=bl;
251 al -=bl;
252 al -=bl;
253 al -=bl;
254 al -=bl;
255 al -=bl;
256 al -=bl;
257 al -=bl;
258 al -=bl;
260 al -=bl;
261 al -=bl;
262 al -=bl;
263 al -=bl;
264 al -=bl;
265 al -=bl;
266 al -=bl;
267 al -=bl;
268 al -=bl;
269 al -=bl;
271 a = al;
272 count += x;
273 if (!count)
274 break;
275 }
276 return (TInt)count;
277 }
280 TInt TInt64Multiplication(TAny*)
281 {
282 a = MAKE_TINT64(0xffffffff,0xfa0a1f00u);
283 b = MAKE_TINT64(0x0,0xfa0a1f00u);
285 TInt64 al = a;
286 const TInt64 bl = b;
287 const TInt64 x = 1;
289 for(;;)
290 {
291 al *=bl;
292 al *=bl;
293 al *=bl;
294 al *=bl;
295 al *=bl;
296 al *=bl;
297 al *=bl;
298 al *=bl;
299 al *=bl;
300 al *=bl;
302 al *=bl;
303 al *=bl;
304 al *=bl;
305 al *=bl;
306 al *=bl;
307 al *=bl;
308 al *=bl;
309 al *=bl;
310 al *=bl;
311 al *=bl;
313 al *=bl;
314 al *=bl;
315 al *=bl;
316 al *=bl;
317 al *=bl;
318 al *=bl;
319 al *=bl;
320 al *=bl;
321 al *=bl;
322 al *=bl;
324 al *=bl;
325 al *=bl;
326 al *=bl;
327 al *=bl;
328 al *=bl;
329 al *=bl;
330 al *=bl;
331 al *=bl;
332 al *=bl;
333 al *=bl;
335 al *=bl;
336 al *=bl;
337 al *=bl;
338 al *=bl;
339 al *=bl;
340 al *=bl;
341 al *=bl;
342 al *=bl;
343 al *=bl;
344 al *=bl;
346 al *=bl;
347 al *=bl;
348 al *=bl;
349 al *=bl;
350 al *=bl;
351 al *=bl;
352 al *=bl;
353 al *=bl;
354 al *=bl;
355 al *=bl;
357 al *=bl;
358 al *=bl;
359 al *=bl;
360 al *=bl;
361 al *=bl;
362 al *=bl;
363 al *=bl;
364 al *=bl;
365 al *=bl;
366 al *=bl;
368 al *=bl;
369 al *=bl;
370 al *=bl;
371 al *=bl;
372 al *=bl;
373 al *=bl;
374 al *=bl;
375 al *=bl;
376 al *=bl;
377 al *=bl;
379 al *=bl;
380 al *=bl;
381 al *=bl;
382 al *=bl;
383 al *=bl;
384 al *=bl;
385 al *=bl;
386 al *=bl;
387 al *=bl;
388 al *=bl;
390 al *=bl;
391 al *=bl;
392 al *=bl;
393 al *=bl;
394 al *=bl;
395 al *=bl;
396 al *=bl;
397 al *=bl;
398 al *=bl;
399 al *=bl;
401 a = al;
402 count += x;
403 if (!count)
404 break;
405 }
406 return (TInt)count;
407 }
409 TInt TInt64Division(TAny*)
410 {
412 a = MAKE_TINT64(0x31514531,0x93471672u);
413 b = MAKE_TINT64(0x0,0x05F5E100);
415 TInt64 al = a;
416 const TInt64 bl = b;
417 const TInt64 x = 1;
419 for(;;)
420 {
421 al /=bl;
422 al /=bl;
423 al /=bl;
424 al /=bl;
425 al /=bl;
426 al /=bl;
427 al /=bl;
428 al /=bl;
429 al /=bl;
430 al /=bl;
432 al /=bl;
433 al /=bl;
434 al /=bl;
435 al /=bl;
436 al /=bl;
437 al /=bl;
438 al /=bl;
439 al /=bl;
440 al /=bl;
441 al /=bl;
443 al /=bl;
444 al /=bl;
445 al /=bl;
446 al /=bl;
447 al /=bl;
448 al /=bl;
449 al /=bl;
450 al /=bl;
451 al /=bl;
452 al /=bl;
454 al /=bl;
455 al /=bl;
456 al /=bl;
457 al /=bl;
458 al /=bl;
459 al /=bl;
460 al /=bl;
461 al /=bl;
462 al /=bl;
463 al /=bl;
465 al /=bl;
466 al /=bl;
467 al /=bl;
468 al /=bl;
469 al /=bl;
470 al /=bl;
471 al /=bl;
472 al /=bl;
473 al /=bl;
474 al /=bl;
476 al /=bl;
477 al /=bl;
478 al /=bl;
479 al /=bl;
480 al /=bl;
481 al /=bl;
482 al /=bl;
483 al /=bl;
484 al /=bl;
485 al /=bl;
487 al /=bl;
488 al /=bl;
489 al /=bl;
490 al /=bl;
491 al /=bl;
492 al /=bl;
493 al /=bl;
494 al /=bl;
495 al /=bl;
496 al /=bl;
498 al /=bl;
499 al /=bl;
500 al /=bl;
501 al /=bl;
502 al /=bl;
503 al /=bl;
504 al /=bl;
505 al /=bl;
506 al /=bl;
507 al /=bl;
509 al /=bl;
510 al /=bl;
511 al /=bl;
512 al /=bl;
513 al /=bl;
514 al /=bl;
515 al /=bl;
516 al /=bl;
517 al /=bl;
518 al /=bl;
520 al /=bl;
521 al /=bl;
522 al /=bl;
523 al /=bl;
524 al /=bl;
525 al /=bl;
526 al /=bl;
527 al /=bl;
528 al /=bl;
529 al /=bl;
531 a = al;
532 count += x;
533 if (!count)
534 break;
535 }
536 return (TInt)count; }