def tree_certified

bendtorch-core@0.1.0.0 · src/tensor/parallel.bend:132

import bendtorch-core@0.1.0.0/src/tensor/parallel.bend as Parallel
import Base

132def tree_certified(~P: Data, ~A: Type, ~B: Type, ~cell: @+p: P -> @+position: Nat -> A & B -> Bool -> F32 & (A & B),
133  +p: P, +depth: Nat, +count: Nat, +base: Nat, state: A & B) ->
134  Certified<(A & B), depth, tree(~P, ~A, ~B, ~cell, p, depth, count, base, state)>:
135  match depth:
136    case 0n:
137      leaf_certified(~(A & B), cell(p, base, state, Nat.is_lt(base, count)))
138    case 1n+inner:
139      match inner:
140        case 0n:
141          pair_certified(~P, ~A, ~B, ~cell, p, count, base, cell(p, base, state, Nat.is_lt(base, count)))
142        case 1n+below:
143          node_certified(~A, ~B, inner, l => r => tree(~P, ~A, ~B, ~cell, p, inner, count, upper(inner, base), (l, r)),
144            tree(~P, ~A, ~B, ~cell, p, inner, count, base, state),
145            tree_certified(~P, ~A, ~B, ~cell, p, inner, count, base, state),
146            l => r => tree_certified(~P, ~A, ~B, ~cell, p, inner, count, upper(inner, base), (l, r)))

Uses (12)

Used by (3)