Mercurial > repos > icfp2014
comparison 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 |
comparison
equal
deleted
inserted
replaced
40:d5ccb66ae98b | 41:e1047192610c |
---|---|
20 } | 20 } |
21 | 21 |
22 makeTree <- :lst { | 22 makeTree <- :lst { |
23 size <- lst length | 23 size <- lst length |
24 #[size (makeTree: lst size: size)] | 24 #[size (makeTree: lst size: size)] |
25 } | |
26 | |
27 _filledTree <- :val size { | |
28 ret <- 0 | |
29 half <- size / 2 | |
30 if: size > 2 { | |
31 ret <- #[ | |
32 (_filledTree: val half) | |
33 (_filledTree: val size-half) | |
34 ] | |
35 } else: { | |
36 ret <- #[val val] | |
37 } | |
38 ret | |
39 } | |
40 | |
41 filledTree <- :val size { | |
42 #[size (_filledTree: val size)] | |
25 } | 43 } |
26 | 44 |
27 get:fromTree:size <- :idx :tree :size { | 45 get:fromTree:size <- :idx :tree :size { |
28 ret <- 0 | 46 ret <- 0 |
29 half <- size / 2 | 47 half <- size / 2 |