def right_read
bendtorch-core@0.1.0.0 · src/tensor/matmul.bend:79
import bendtorch-core@0.1.0.0/src/tensor/matmul.bend as Matmul
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
79def right_read(-left: Shape.Shape, -right: Shape.Shape,
80 rec: Core.Tensor<left> -> Core.Tensor<right> -> F32 -> Result<&2, &1, Error, Core.Tensor<left> & Core.Tensor<right> & F32>,
81 a: Core.Tensor<left>, left_value: F32, accumulator: F32,
82 pair: Core.Tensor<right> & Result<&2, &2, Core.Error, F32>) ->
83 Result<&2, &1, Error, Core.Tensor<left> & Core.Tensor<right> & F32>:
84 (b, result) = pair
85 match result:
86 case Fail{error}:
87 Fail{TensorError{error}}
88 case Done{right_value}:
89 rec(a, b, F32.add(accumulator, F32.mul(left_value, right_value)))