Index: chrome/test/data/dromaeo/tests/sunspider-access-binary-trees.html |
=================================================================== |
--- chrome/test/data/dromaeo/tests/sunspider-access-binary-trees.html (revision 0) |
+++ chrome/test/data/dromaeo/tests/sunspider-access-binary-trees.html (revision 0) |
@@ -0,0 +1,64 @@ |
+<html> |
+<head> |
+<script src="../htmlrunner.js"></script> |
+<script> |
+/* The Great Computer Language Shootout |
+ http://shootout.alioth.debian.org/ |
+ contributed by Isaac Gouy */ |
+ |
+function TreeNode(left,right,item){ |
+ this.left = left; |
+ this.right = right; |
+ this.item = item; |
+} |
+ |
+TreeNode.prototype.itemCheck = function(){ |
+ if (this.left==null) return this.item; |
+ else return this.item + this.left.itemCheck() - this.right.itemCheck(); |
+} |
+ |
+function bottomUpTree(item,depth){ |
+ if (depth>0){ |
+ return new TreeNode( |
+ bottomUpTree(2*item-1, depth-1) |
+ ,bottomUpTree(2*item, depth-1) |
+ ,item |
+ ); |
+ } |
+ else { |
+ return new TreeNode(null,null,item); |
+ } |
+} |
+ |
+window.onload = function(){ startTest("sunspider-access-binary-trees", ''); |
+ |
+var ret; |
+ |
+test( "Binary Trees", function(){ |
+ for ( var n = 4; n <= 5; n += 1 ) { |
+ var minDepth = 4; |
+ var maxDepth = Math.max(minDepth + 2, n); |
+ var stretchDepth = maxDepth + 1; |
+ |
+ var check = bottomUpTree(0,stretchDepth).itemCheck(); |
+ |
+ var longLivedTree = bottomUpTree(0,maxDepth); |
+ for (var depth=minDepth; depth<=maxDepth; depth+=2){ |
+ var iterations = 1 << (maxDepth - depth + minDepth); |
+ |
+ check = 0; |
+ for (var i=1; i<=iterations; i++){ |
+ check += bottomUpTree(i,depth).itemCheck(); |
+ check += bottomUpTree(-i,depth).itemCheck(); |
+ } |
+ } |
+ |
+ ret = longLivedTree.itemCheck(); |
+ } |
+}); |
+ |
+endTest(); }; |
+</script> |
+</head> |
+<body></body> |
+</html> |