def inverse_scatter_composition
bendtorch-core@0.1.0.0 · src/tensor/axis_algebra.bend:3103
import bendtorch-core@0.1.0.0/src/tensor/axis_algebra.bend as AxisAlgebra
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend as Axis
3103def inverse_scatter_composition(-A: Data, +rank: Nat, +axes: List<&2, Nat>, +items: List<&2, A>, +bound: Shape.LE(rank, 4n),
3104 +accepted: {True{} == Axis.valid(rank, axes) : Bool}, length: {List.length(&2, A, items) == rank : Nat}) ->
3105 {Axis.scatter(A, rank, Axis.inverse_axes(rank, axes), Axis.order(A, items, Axis.inverse_axes(rank, axes)), 0n) == Some{items} : Maybe<&2, List<&2, A>>}:
3106 scatter_restored(A, rank, Axis.inverse_axes(rank, axes), items,
3107 facts_lists(A, rank, Axis.inverse_axes(rank, axes), items, length, facts(rank, Axis.inverse_axes(rank, axes), bound, inverse_valid(rank, axes, bound, accepted))))