1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/pgo/js-input/access-fannkuch.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,116 @@ 1.4 +<!DOCTYPE html> 1.5 +<head> 1.6 +<!-- 1.7 + Copyright (C) 2007 Apple Inc. All rights reserved. 1.8 + 1.9 + Redistribution and use in source and binary forms, with or without 1.10 + modification, are permitted provided that the following conditions 1.11 + are met: 1.12 + 1. Redistributions of source code must retain the above copyright 1.13 + notice, this list of conditions and the following disclaimer. 1.14 + 2. Redistributions in binary form must reproduce the above copyright 1.15 + notice, this list of conditions and the following disclaimer in the 1.16 + documentation and/or other materials provided with the distribution. 1.17 + 1.18 + THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 1.19 + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1.20 + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1.21 + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 1.22 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 1.23 + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 1.24 + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 1.25 + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 1.26 + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1.27 + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1.28 + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1.29 +--> 1.30 + 1.31 +<title>SunSpider access-fannkuch</title> 1.32 + 1.33 +</head> 1.34 + 1.35 +<body> 1.36 +<h3>access-fannkuch</h3> 1.37 +<div id="console"> 1.38 +</div> 1.39 + 1.40 +<script> 1.41 + 1.42 +var _sunSpiderStartDate = new Date(); 1.43 + 1.44 +/* The Great Computer Language Shootout 1.45 + http://shootout.alioth.debian.org/ 1.46 + contributed by Isaac Gouy */ 1.47 + 1.48 +function fannkuch(n) { 1.49 + var check = 0; 1.50 + var perm = Array(n); 1.51 + var perm1 = Array(n); 1.52 + var count = Array(n); 1.53 + var maxPerm = Array(n); 1.54 + var maxFlipsCount = 0; 1.55 + var m = n - 1; 1.56 + 1.57 + for (var i = 0; i < n; i++) perm1[i] = i; 1.58 + var r = n; 1.59 + 1.60 + while (true) { 1.61 + // write-out the first 30 permutations 1.62 + if (check < 30){ 1.63 + var s = ""; 1.64 + for(var i=0; i<n; i++) s += (perm1[i]+1).toString(); 1.65 + check++; 1.66 + } 1.67 + 1.68 + while (r != 1) { count[r - 1] = r; r--; } 1.69 + if (!(perm1[0] == 0 || perm1[m] == m)) { 1.70 + for (var i = 0; i < n; i++) perm[i] = perm1[i]; 1.71 + 1.72 + var flipsCount = 0; 1.73 + var k; 1.74 + 1.75 + while (!((k = perm[0]) == 0)) { 1.76 + var k2 = (k + 1) >> 1; 1.77 + for (var i = 0; i < k2; i++) { 1.78 + var temp = perm[i]; perm[i] = perm[k - i]; perm[k - i] = temp; 1.79 + } 1.80 + flipsCount++; 1.81 + } 1.82 + 1.83 + if (flipsCount > maxFlipsCount) { 1.84 + maxFlipsCount = flipsCount; 1.85 + for (var i = 0; i < n; i++) maxPerm[i] = perm1[i]; 1.86 + } 1.87 + } 1.88 + 1.89 + while (true) { 1.90 + if (r == n) return maxFlipsCount; 1.91 + var perm0 = perm1[0]; 1.92 + var i = 0; 1.93 + while (i < r) { 1.94 + var j = i + 1; 1.95 + perm1[i] = perm1[j]; 1.96 + i = j; 1.97 + } 1.98 + perm1[r] = perm0; 1.99 + 1.100 + count[r] = count[r] - 1; 1.101 + if (count[r] > 0) break; 1.102 + r++; 1.103 + } 1.104 + } 1.105 +} 1.106 + 1.107 +var n = 8; 1.108 +var ret = fannkuch(n); 1.109 + 1.110 + 1.111 + 1.112 +var _sunSpiderInterval = new Date() - _sunSpiderStartDate; 1.113 + 1.114 +document.getElementById("console").innerHTML = _sunSpiderInterval; 1.115 +</script> 1.116 + 1.117 + 1.118 +</body> 1.119 +</html>