def copy_mapped

bendtorch-core@0.1.0.0 · src/tensor/transforms.bend:82

import bendtorch-core@0.1.0.0/src/tensor/transforms.bend as Transforms
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
import bendtorch-core@0.1.0.0/src/tensor/layout.bend as Layout

82def copy_mapped(-input: Shape.Shape, -axes: List<&2, U32>, +plan: Layout.Plan<input, axes>, +i: U32,
83  rec: Core.Tensor<input> -> Core.Tensor<Layout.output(input, axes, plan)> ->
84    Core.Tensor<input> & Result<&2, &1, Error, Core.Tensor<Layout.output(input, axes, plan)>>,
85  source: Core.Tensor<input>, target: Core.Tensor<Layout.output(input, axes, plan)>,
86  mapped: Result<&2, &2, Layout.Error, Layout.Mapping<input, axes, plan, i>>) ->
87  Core.Tensor<input> & Result<&2, &1, Error, Core.Tensor<Layout.output(input, axes, plan)>>:
88  match mapped:
89    case Fail{error}:
90      (source, Fail{LayoutError{error}})
91    case Done{mapping}:
92      copy_read(input, axes, plan, i, rec, target,
93        Core.read_flat(input, source, Layout.source_index(input, axes, plan, i, mapping)))

Uses (15)

Used by (4)