def Strided

bendtorch-core@0.1.0.0 · src/tensor/batched_matmul_LAWS.bend:78

import bendtorch-core@0.1.0.0/src/tensor/batched_matmul_LAWS.bend as BatchedMatmulLAWS
import Base
import bendtorch-core@0.1.0.0/src/tensor/dot_fold.bend as DotFold

78# The factor pairs a run of `fuel` terms reads: A at lp, lp + ls,
79# lp + 2 ls, ... and B at rp, rp + rs, ..., in that order.
80def Strided(+fuel: Nat, +dl: Nat, +dr: Nat, -A: Array<F32>, -B: Array<F32>, +ls: Nat, +rs: Nat, +lp: Nat, +rp: Nat,
81  values: List<&2, DotFold.Factors>) -> Data:
82  match fuel values:
83    case 0n Nil{}:
84      Unit
85    case 1n+tail DotFold.Factors{lv, rv} <> rest:
86      StridedStep<tail, dl, dr, A, B, ls, rs, lp, rp, lv, rv, rest>
87    case 0n DotFold.Factors{lv, rv} <> rest:
88      Empty
89    case 1n+tail Nil{}:
90      Empty

Uses (8)

Used by (4)