def last_decided

bendtorch-core@0.1.0.0 · src/tensor/signed_PROOF.bend:134

import bendtorch-core@0.1.0.0/src/tensor/signed_PROOF.bend as SignedPROOF
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/signed.bend as Signed

134def last_decided(+limit: U32, +k: U32, decision: Shape.BoolCase<U32.is_lt(k, limit)>) ->
135  {U32.is_lt(Signed.wrap(limit, Signed.Last{k}), limit) == U32.is_lt(k, limit) : Bool}:
136  match decision:
137    case Shape.BTrue{+equal}:
138      %equal : {U32.is_lt(Bool.pick(U32, _, U32.sub(U32.sub(limit, 1), k), limit), limit) == _ : Bool}
139      last_below(limit, k, Equal.sym(Bool, True{}, U32.is_lt(k, limit), equal))
140    case Shape.BFalse{equal}:
141      %equal : {U32.is_lt(Bool.pick(U32, _, U32.sub(U32.sub(limit, 1), k), limit), limit) == _ : Bool}
142      limit_not_below(limit)

Uses (11)

Used by (1)