def set_checked_miss

bendtorch-core@0.1.0.0 · src/storage/api.bend:57

import bendtorch-core@0.1.0.0/src/storage/api.bend as Api
import Base
import bendtorch-core@0.1.0.0/src/storage/model.bend as Model
import bendtorch-core@0.1.0.0/src/storage/main.bend as Storage
import bendtorch-core@0.1.0.0/src/storage/arith.bend as Arith

57def set_checked_miss(+d: Nat, +n: Nat, -array: Array<F32>, +i: U32, -value: F32, allowed: Bool,
58  -decision: {allowed == Nat.is_lt(U32.to_nat(i), n) : Bool},
59  -balanced: Model.Balanced(F32, d, array), -valid: {Storage.bounds(d, n) == True{} : Bool},
60  no: {False{} == allowed : Bool}) ->
61  {Storage.set_checked(d, n, array, i, value, allowed, decision, balanced, valid) ==
62    (Storage.Owned{d, n, array, balanced, valid}, Fail{Storage.OutOfBounds{}}) : Storage.Storage & Result<&2, &2, Storage.Error, Unit>}:
63  match allowed:
64    case False{}:
65      {==}
66    case True{}:
67      Empty.absurd({Storage.set_checked(d, n, array, i, value, True{}, decision, balanced, valid) ==
68        (Storage.Owned{d, n, array, balanced, valid}, Fail{Storage.OutOfBounds{}}) : Storage.Storage & Result<&2, &2, Storage.Error, Unit>}, Arith.clash(no))

Uses (18)

Used by (5)