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