gecko/testing/performance/talos/page_load_test/jss/real-recursive-5.html

49 lines
849 B
HTML

<html><head>
<!-- MOZ_INSERT_CONTENT_HOOK -->
<script src = runner.js></script>
<script>
var onlyName = 'Fib', onlyNum = 4;
function thisTest() {
// The Computer Language Shootout
// http://shootout.alioth.debian.org/
// contributed by Isaac Gouy
function ack(m,n){
if (m==0) { return n+1; }
if (n==0) { return ack(m-1,1); }
return ack(m-1, ack(m,n-1) );
}
function fib(n) {
if (n < 2){ return 1; }
return fib(n-2) + fib(n-1);
}
function tak(x,y,z) {
if (y >= x) return z;
return tak(tak(x-1,y,z), tak(y-1,z,x), tak(z-1,x,y));
}
startTest("real-recursive");
for ( var i = 3; i <= 6; i++ ) (function(i){
test("Ack", i, function(){
ack(3,i);
});
test("Fib", i, function(){
fib(10.0+i);
});
test("Tak", i, function(){
tak(3*i,2*i,i);
});
})(i);
endTest();
}
</script>
<body onload="thisTest()"></body></html>