1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/pgo/js-input/string-fasta.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,135 @@ 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 string-fasta</title> 1.32 + 1.33 +</head> 1.34 + 1.35 +<body> 1.36 +<h3>string-fasta</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 +// 1.47 +// Contributed by Ian Osgood 1.48 + 1.49 +var last = 42, A = 3877, C = 29573, M = 139968; 1.50 + 1.51 +function rand(max) { 1.52 + last = (last * A + C) % M; 1.53 + return max * last / M; 1.54 +} 1.55 + 1.56 +var ALU = 1.57 + "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + 1.58 + "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + 1.59 + "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + 1.60 + "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + 1.61 + "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + 1.62 + "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + 1.63 + "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; 1.64 + 1.65 +var IUB = { 1.66 + a:0.27, c:0.12, g:0.12, t:0.27, 1.67 + B:0.02, D:0.02, H:0.02, K:0.02, 1.68 + M:0.02, N:0.02, R:0.02, S:0.02, 1.69 + V:0.02, W:0.02, Y:0.02 1.70 +} 1.71 + 1.72 +var HomoSap = { 1.73 + a: 0.3029549426680, 1.74 + c: 0.1979883004921, 1.75 + g: 0.1975473066391, 1.76 + t: 0.3015094502008 1.77 +} 1.78 + 1.79 +function makeCumulative(table) { 1.80 + var last = null; 1.81 + for (var c in table) { 1.82 + if (last) table[c] += table[last]; 1.83 + last = c; 1.84 + } 1.85 +} 1.86 + 1.87 +function fastaRepeat(n, seq) { 1.88 + var seqi = 0, lenOut = 60; 1.89 + while (n>0) { 1.90 + if (n<lenOut) lenOut = n; 1.91 + if (seqi + lenOut < seq.length) { 1.92 + ret = seq.substring(seqi, seqi+lenOut); 1.93 + seqi += lenOut; 1.94 + } else { 1.95 + var s = seq.substring(seqi); 1.96 + seqi = lenOut - s.length; 1.97 + ret = s + seq.substring(0, seqi); 1.98 + } 1.99 + n -= lenOut; 1.100 + } 1.101 +} 1.102 + 1.103 +function fastaRandom(n, table) { 1.104 + var line = new Array(60); 1.105 + makeCumulative(table); 1.106 + while (n>0) { 1.107 + if (n<line.length) line = new Array(n); 1.108 + for (var i=0; i<line.length; i++) { 1.109 + var r = rand(1); 1.110 + for (var c in table) { 1.111 + if (r < table[c]) { 1.112 + line[i] = c; 1.113 + break; 1.114 + } 1.115 + } 1.116 + } 1.117 + ret = line.join(''); 1.118 + n -= line.length; 1.119 + } 1.120 +} 1.121 + 1.122 +var ret; 1.123 + 1.124 +var count = 7; 1.125 +ret = fastaRepeat(2*count*100000, ALU); 1.126 +ret = fastaRandom(3*count*1000, IUB); 1.127 +ret = fastaRandom(5*count*1000, HomoSap); 1.128 + 1.129 + 1.130 + 1.131 +var _sunSpiderInterval = new Date() - _sunSpiderStartDate; 1.132 + 1.133 +document.getElementById("console").innerHTML = _sunSpiderInterval; 1.134 +</script> 1.135 + 1.136 + 1.137 +</body> 1.138 +</html>