def left_operand
bendtorch-core@0.1.0.0 · src/tensor/batched_matmul.bend:49
import bendtorch-core@0.1.0.0/src/tensor/batched_matmul.bend as BatchedMatmul
import Base
import bendtorch-core@0.1.0.0/src/tensor/matmul.bend as Matrix
49def left_operand(dims: List<&2, U32>) -> Result<&2, &2, Matrix.Error, Operand>:
50 match dims:
51 case +k <> Nil{}:
52 Done{Operand{Batch{0n, 1, 1}, 1, k, True{}}}
53 case +m <> +k <> Nil{}:
54 Done{Operand{Batch{0n, 1, 1}, m, k, False{}}}
55 case +b <> +m <> +k <> Nil{}:
56 Done{Operand{Batch{1n, 1, b}, m, k, False{}}}
57 case +a <> +b <> +m <> +k <> Nil{}:
58 Done{Operand{Batch{2n, a, b}, m, k, False{}}}
59 case rest:
60 Fail{Matrix.RankMismatch{}}