def run
stelliferous@0.0.2.0 · proofs/kernel_read_witness.bend:47
import stelliferous@0.0.2.0/proofs/kernel_read_witness.bend as KernelReadWitness
import Base
import stelliferous@0.0.2.0/kernel_gemm.bend as Gemm
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/traversal_loop.bend as Loop
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness
47def run(~upper: Bool,count: Nat,-input: Array<Tile.Tile8>,-weights: Array<Tile.Tile8>,-bias: Array<F32>,-output: Array<F32>,-state: Gemm.Loop,
48 +input_evidence: Witness.ArrayWitness<Tile.Tile8,input>,+weight_evidence: Witness.ArrayWitness<Tile.Tile8,weights>,
49 evidence: Looped<input,weights,bias,output,state>) ->
50 Looped<input,weights,bias,output,Loop.run(~Gemm.Loop,~Gemm.step(~upper),count,state)>:
51 match count:
52 case 0n: evidence
53 case 1n+rest:
54 run(~upper,rest,input,weights,bias,output,Gemm.step(~upper,state),input_evidence,weight_evidence,
55 step(~upper,input,weights,bias,output,state,input_evidence,weight_evidence,evidence))