law project_left_index_refines

bendtorch-core@0.1.0.0 · src/shape/LAWS.bend:209

import bendtorch-core@0.1.0.0/src/shape/LAWS.bend as LAWS
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/shape/flat.bend as Flat

209law project_left_index_refines:
210  for +plan: Shape.BroadcastPlan
211  for +map: Shape.Index<Shape.extents(Shape.left_shape(plan)), Shape.extents(Shape.right_shape(plan)), Shape.extents(Shape.output_shape(plan))>
212  for +index: Shape.FlatIndex<Shape.output_shape(plan)>
213  {Some{Shape.index_value(Shape.left_shape(plan), Flat.project_left_index(plan, map, index))} == flatten_spec(Shape.extents(Shape.left_shape(plan)), project_left_coordinate(Shape.extents(Shape.left_shape(plan)), Shape.extents(Shape.right_shape(plan)), Shape.extents(Shape.output_shape(plan)), Shape.alignment(plan), fin_of(Shape.numel(Shape.extents(Shape.output_shape(plan))), position(Shape.output_shape(plan), index)))) : Maybe<&2, U32>}

Uses (18)

Used by (3)