def get_checked_length

bendtorch-core@0.1.0.0 · src/tensor/lifecycle.bend:29

import bendtorch-core@0.1.0.0/src/tensor/lifecycle.bend as Lifecycle
import Base
import bendtorch-core@0.1.0.0/src/storage/main.bend as Storage
import bendtorch-core@0.1.0.0/src/storage/model.bend as Model

29def get_checked_length(+d: Nat, +n: Nat, array: Array<F32>, +i: U32, allowed: Bool,
30  -decision: {allowed == Nat.is_lt(U32.to_nat(i), n) : Bool},
31  -balanced: Model.Balanced(F32, d, array), -valid: {Storage.bounds(d, n) == True{} : Bool}) ->
32  {retained_read(Storage.get_checked(d, n, array, i, allowed, decision, balanced, valid)) == n : Nat}:
33  match allowed:
34    case False{}:
35      {==}
36    case True{}:
37      finish_read_length(d, n, array, i, Array.get(F32, array, i), {==}, balanced, valid)

Uses (13)

Used by (1)