Mercurial > repos > icfp2014
diff code/tree.lm @ 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 |
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