def tree
bendtorch-core@0.1.0.0 · src/tensor/parallel.bend:50
import bendtorch-core@0.1.0.0/src/tensor/parallel.bend as Parallel
import Base
50
51
52def tree(~P: Data, ~A: Type, ~B: Type, ~cell: @+p: P -> @+position: Nat -> A & B -> Bool -> F32 & (A & B),
53 +p: P, +depth: Nat, +count: Nat, +base: Nat, state: A & B) -> Array<F32> & (A & B):
54 match depth:
55 case 0n:
56 leaf(~(A & B), cell(p, base, state, Nat.is_lt(base, count)))
57 case 1n+inner:
58 match inner:
59 case 0n:
60 pair(~P, ~A, ~B, ~cell, p, count, base, cell(p, base, state, Nat.is_lt(base, count)))
61 case 1n+below:
62 node(~A, ~B, l => r => tree(~P, ~A, ~B, ~cell, p, inner, count, upper(inner, base), (l, r)),
63 tree(~P, ~A, ~B, ~cell, p, inner, count, base, state))