changeset 41:e1047192610c

Added filledTree function to tree.lm for creating a tree filled with a certain value
author Michael Pavone <pavone@retrodev.com>
date Sat, 26 Jul 2014 19:43:11 -0700
parents d5ccb66ae98b
children f1453e8970ca
files code/tree.lm
diffstat 1 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/code/tree.lm	Sat Jul 26 15:29:01 2014 -0700
+++ b/code/tree.lm	Sat Jul 26 19:43:11 2014 -0700
@@ -24,6 +24,24 @@
 		#[size (makeTree: lst size: size)]
 	}
 	
+	_filledTree <- :val size {
+		ret <- 0
+		half <- size / 2
+		if: size > 2 {
+			ret <- #[
+				(_filledTree: val half)
+				(_filledTree: val size-half)
+			]
+		} else: {
+			ret <- #[val val]
+		}
+		ret
+	}
+	
+	filledTree <- :val size {
+		#[size (_filledTree: val size)]
+	}
+	
 	get:fromTree:size <- :idx :tree :size {
 		ret <- 0
 		half <- size / 2