type Mapping

bendtorch-core@0.1.0.0 · src/tensor/layout.bend:288

import bendtorch-core@0.1.0.0/src/tensor/layout.bend as Layout
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape

288type Mapping<-input: Shape.Shape, -axes: List<&2, U32>, -plan: Plan<input, axes>, -i: U32> is Data:
289  Mapped{output_index: FlatIndex<output(input, axes, plan)>,
290    output_coordinate: CheckedCoordinate<output(input, axes, plan)>,
291    input_coordinate: CheckedCoordinate<input>, index: FlatIndex<input>,
292    requested: {index_value(output(input, axes, plan), output_index) == i : U32},
293    decoded: {coordinate_values(output(input, axes, plan), output_coordinate) ==
294      reverse_words(unflatten_words(reverse_words(Shape.dimensions(output(input, axes, plan))), i)) : List<&2, U32>},
295    inverse: {Some{coordinate_values(input, input_coordinate)} ==
296      inverse_coordinates(Shape.dimensions(input), axes,
297        coordinate_values(output(input, axes, plan), output_coordinate), 0) : Maybe<&2, List<&2, U32>>},
298    flattened: {index_value(input, index) ==
299      flatten_words(Shape.dimensions(input), coordinate_values(input, input_coordinate), 0) : U32},
300    roundtrip: {True{} == maybe_same(reorder(coordinate_values(input, input_coordinate), axes),
301      Some{coordinate_values(output(input, axes, plan), output_coordinate)}) : Bool}}

Uses (18)

Used by (67)