def flatten_ranked_rank

bendtorch-core@0.1.0.0 · src/shape/PROOF.bend:71

import bendtorch-core@0.1.0.0/src/shape/PROOF.bend as PROOF
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape

71def flatten_ranked_rank(+shape: Shape.Shape, +values: List<&2, U32>,
72  same_rank: Shape.BoolCase<Nat.is_eq(Shape.rank_dimensions(Shape.dimensions(shape)), Shape.rank_dimensions(values))>,
73  differ: {Shape.rank_dimensions(Shape.dimensions(shape)) != Shape.rank_dimensions(values) : Nat}) ->
74  {Shape.flatten_checked.ranked(shape, values, same_rank) == Fail{Shape.CoordinateRankMismatch{}} : Result<&2, &2, Shape.Error, Shape.FlatIndex<shape>>}:
75  match same_rank:
76    case Shape.BFalse{equal}:
77      {==}
78    case Shape.BTrue{equal}:
79      Empty.absurd({Shape.flatten_checked.ranked(shape, values, Shape.BTrue{equal}) == Fail{Shape.CoordinateRankMismatch{}} : Result<&2, &2, Shape.Error, Shape.FlatIndex<shape>>},
80        differ(Shape.equal_decided(Shape.rank_dimensions(Shape.dimensions(shape)), Shape.rank_dimensions(values), equal)))

Uses (15)

Used by (1)