Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: chrome/test/data/dromaeo/tests/sunspider-access-fannkuch.html

Issue 269054: Importing dromaeo performance tests to src/chrome/test/data.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <html>
2 <head>
3 <script src="../htmlrunner.js"></script>
4 <script>
5 /* The Great Computer Language Shootout
6 http://shootout.alioth.debian.org/
7 contributed by Isaac Gouy */
8
9 function fannkuch(n) {
10 var check = 0;
11 var perm = Array(n);
12 var perm1 = Array(n);
13 var count = Array(n);
14 var maxPerm = Array(n);
15 var maxFlipsCount = 0;
16 var m = n - 1;
17
18 for (var i = 0; i < n; i++) perm1[i] = i;
19 var r = n;
20
21 while (true) {
22 // write-out the first 30 permutations
23 if (check < 30){
24 var s = "";
25 for(var i=0; i<n; i++) s += (perm1[i]+1).toString();
26 check++;
27 }
28
29 while (r != 1) { count[r - 1] = r; r--; }
30 if (!(perm1[0] == 0 || perm1[m] == m)) {
31 for (var i = 0; i < n; i++) perm[i] = perm1[i];
32
33 var flipsCount = 0;
34 var k;
35
36 while (!((k = perm[0]) == 0)) {
37 var k2 = (k + 1) >> 1;
38 for (var i = 0; i < k2; i++) {
39 var temp = perm[i]; perm[i] = perm[k - i]; perm[k - i] = temp;
40 }
41 flipsCount++;
42 }
43
44 if (flipsCount > maxFlipsCount) {
45 maxFlipsCount = flipsCount;
46 for (var i = 0; i < n; i++) maxPerm[i] = perm1[i];
47 }
48 }
49
50 while (true) {
51 if (r == n) return maxFlipsCount;
52 var perm0 = perm1[0];
53 var i = 0;
54 while (i < r) {
55 var j = i + 1;
56 perm1[i] = perm1[j];
57 i = j;
58 }
59 perm1[r] = perm0;
60
61 count[r] = count[r] - 1;
62 if (count[r] > 0) break;
63 r++;
64 }
65 }
66 }
67
68 window.onload = function(){ startTest("sunspider-access-fannkuch", '');
69
70 var ret;
71
72 test( "Pfannkuchen", function(){
73 ret = fannkuch(7);
74 });
75
76 endTest(); };
77 </script>
78 </head>
79 <body></body>
80 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698