def block_tree

bend-visgraph@2.0.0.0 · parallel.bend:40

import bend-visgraph@2.0.0.0/parallel.bend as Parallel
import Base
import bend-visgraph@2.0.0.0/visgraph.bend as VG

40def block_tree(depth: Nat, +s: U32, +e: U32, cc: VG.Cols & VG.Cols) -> Blocks:
41  match depth:
42    case 1n++d:
43      (c1, c2) = cc
44      +mid = (s + U32.shr((e - s : U32)) : U32)
45      x y = block_tree(d, s, mid, fork_cols(c1)) block_tree(d, mid, e, fork_cols(c2))
46      BJoin{x, y}
47    case 0n:
48      (c1, c2) = cc
49      +mid = (s + U32.shr((e - s : U32)) : U32)
50      x y = block_leaf(s, mid, c1) block_leaf(mid, e, c2)
51      BJoin{x, y}

Uses (11)

Used by (1)