def store_crossing

stelliferous@0.0.2.0 · proofs/kernel_packing_witness.bend:135

import stelliferous@0.0.2.0/proofs/kernel_packing_witness.bend as KernelPackingWitness
import Base
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness

135def store_crossing(+depth: Nat,-input: Array<F32>,-output: Array<Tile.Tile8>,cursor: CrossingCursor,-result: Array<F32> & Tile.Tile8,
136  balanced: Witness.Witness(Tile.Tile8,depth,output),sample: TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,result>) ->
137  CrossingEvidence<input,depth,stored_crossing(output,cursor,result)>:
138  CrossingCursor{+i,q,position,h,w,k,s,p,ow} = cursor
139  TraversalWitness.Sample{value,equation} = sample
140  %Equal.sym(Array<F32> & Tile.Tile8,result,(input,value),equation) : CrossingEvidence<input,depth,stored_crossing(output,CrossingCursor{i,q,position,h,w,k,s,p,ow},_)>
141  CrossingEvidence{Array.set(Tile.Tile8,output,i,value),CrossingCursor{(i + 1 : U32),(q + 1 : U32),position,h,w,k,s,p,ow},{==},Witness.write(Tile.Tile8,depth,output,i,value,balanced)}

Uses (16)

Used by (1)