def tree.node

gralha-coverage@0.1.0.1 · cover.bend:1111

import gralha-coverage@0.1.0.1/cover.bend as Cover
import Base

1111def tree.node(n: Node, depth: Nat, +x0: U32, +size: U32) -> CovTree:
1112  match n:
1113    case Node{flat, value, tl, tr, bl, br}:
1114      match flat:
1115        case True{}: CovFlat{node.value(value)}
1116        case False{}:
1117          match depth:
1118            case 0n: CovFlat{node.value(value)}
1119            case 1n+d:
1120              +dd = d
1121              +half = U32.shln(1, dd)
1122              +x1 = (x0 + half : U32)
1123              CovQuad{tree.node(node.of(tl, half, x0), dd, x0, half), tree.node(node.of(tr, half, x1), dd, x1, half),
1124                tree.node(node.of(bl, half, x0), dd, x0, half), tree.node(node.of(br, half, x1), dd, x1, half)}

Uses (9)

Used by (1)