def block
stelliferous@0.0.2.0 · proofs/kernel_gather_certificate.bend:37
import stelliferous@0.0.2.0/proofs/kernel_gather_certificate.bend as KernelGatherCertificate
import Base
import stelliferous@0.0.2.0/kernel_gather.bend as Gather
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness
37def block(+depth: Nat,+count: U32,+offset: U32,+positions: U32,+span: U32,-input: Array<F32>,-output: Array<F32>,
38 input_evidence: Witness.ArrayWitness<F32,input>,balanced: Witness.Witness(F32,depth,output)) ->
39 Witness.Witness(F32,depth,Gather.gather_block(count,offset,positions,span,input,output)):
40 +width = Gather.gather_width(offset,positions,span)
41 finish(depth,input,Gather.gather_channels(U32.to_nat(count),0,width,offset,positions,span,(input,output)),
42 channels(depth,U32.to_nat(count),0,width,offset,positions,span,input,(input,output),input_evidence,TraversalWitness.ResultEvidence{output,{==},balanced}))