def crossing_loop
stelliferous@0.0.2.0 · proofs/kernel_packing_witness.bend:154
import stelliferous@0.0.2.0/proofs/kernel_packing_witness.bend as KernelPackingWitness
import Base
import stelliferous@0.0.2.0/traversal_loop.bend as Loop
import stelliferous@0.0.2.0/kernel_spatial_packing.bend as Packing
import stelliferous@0.0.2.0/proofs/kernel_packing_read_witness.bend as PackingReadWitness
154def crossing_loop(+depth: Nat,count: Nat,-input: Array<F32>,-state: Packing.Crossings(),+input_evidence: PackingReadWitness.family(input),evidence: CrossingEvidence<input,depth,state>) ->
155 CrossingEvidence<input,depth,Loop.run(~Packing.Crossings(),~Packing.crossing_step,count,state)>:
156 match count:
157 case 0n: evidence
158 case 1n+rest: crossing_loop(depth,rest,input,Packing.crossing_step(state),input_evidence,crossing(depth,input,state,input_evidence,evidence))