def channels

stelliferous@0.0.2.0 · proofs/kernel_gather_certificate.bend:22

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

22def channels(+depth: Nat,count: Nat,+index: U32,+width: U32,+offset: U32,+positions: U32,+span: U32,-input: Array<F32>,-owners: Array<F32> & Array<F32>,
23  +input_evidence: Witness.ArrayWitness<F32,input>,evidence: TraversalWitness.ResultEvidence<Array<F32>,F32,input,depth,owners>) ->
24  TraversalWitness.ResultEvidence<Array<F32>,F32,input,depth,Gather.gather_channels(count,index,width,offset,positions,span,owners)>:
25  match count:
26    case 0n: evidence
27    case 1n+rest:
28      channels(depth,rest,(index + 1 : U32),width,offset,positions,span,input,Gather.gather_channel(index,width,offset,positions,span,owners),input_evidence,
29        channel(depth,index,width,offset,positions,span,input,owners,input_evidence,evidence))

Uses (11)

Used by (1)