def read_shift

bendtorch-core@0.1.0.0 · src/tensor/contracts/replayed.bend:89

import bendtorch-core@0.1.0.0/src/tensor/contracts/replayed.bend as Replayed
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/lifecycle.bend as Lifecycle

89def read_shift(+shape: Shape.Shape, -source: Storage.Storage, -target: Storage.Storage, -word: F32, -found: F32,
90  moved: {target == source : Storage.Storage}, same: {found == word : F32},
91  -P: Core.Tensor<shape> & Result<&2, &2, Core.Error, F32> -> Type,
92  h: @-fits: {Lifecycle.logical_length(target) == Shape.logical_numel(Shape.dimensions(shape)) : Nat} ->
93    P((Core.TTensor{target, fits}, Done{found}))) ->
94  @-fits: {Lifecycle.logical_length(source) == Shape.logical_numel(Shape.dimensions(shape)) : Nat} ->
95    P((Core.TTensor{source, fits}, Done{word})):
96  %moved : (@-fits: {Lifecycle.logical_length(_) == Shape.logical_numel(Shape.dimensions(shape)) : Nat} ->
97    P((Core.TTensor{_, fits}, Done{word})))
98  %same : (@-fits: {Lifecycle.logical_length(target) == Shape.logical_numel(Shape.dimensions(shape)) : Nat} ->
99    P((Core.TTensor{target, fits}, Done{_})))
100  h

Uses (12)

Used by (1)