# HG changeset patch # User Michael Pavone # Date 1406428991 25200 # Node ID e1047192610c8ade587468423754a11033b47e2d # Parent d5ccb66ae98bd504f65496b709223559f480bdac Added filledTree function to tree.lm for creating a tree filled with a certain value diff -r d5ccb66ae98b -r e1047192610c code/tree.lm --- 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