def allocated

bendtorch-core@0.1.0.0 · src/tensor/batched_matmul.bend:316

import bendtorch-core@0.1.0.0/src/tensor/batched_matmul.bend as BatchedMatmul
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/storage/main.bend as Storage
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
import bendtorch-core@0.1.0.0/src/tensor/elementwise.bend as Elementwise

316def allocated(+given: Layout, +output: Shape.Shape, left: Core.Dynamic, right: Core.Dynamic,
317  result: Result<&2, &1, Core.Error, Core.Tensor<output>>) -> Result<&2, &1, Core.Error, Core.Dynamic & Core.Dynamic & Core.Dynamic>:
318  match result:
319    case Fail{error}:
320      Fail{error}
321    case Done{Core.TTensor{storage, exact}}:
322      match storage:
323        case Storage.Empty{}:
324          Done{(left, right, Core.pack(output, Core.TTensor{Storage.Empty{}, exact}))}
325        case Storage.Owned{+depth, +length, array, balanced, valid}:
326          filled(given, output, depth, length, valid, exact, Elementwise.take(left), Elementwise.take(right))

Uses (12)

Used by (1)