def alloc_fits

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

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

780def alloc_fits(+d: Nat, +n: Nat, -value: F32, valid: Bool, -decision: {valid == Storage.bounds(d, n) : Bool},
781  yes: {True{} == valid : Bool}) ->
782  {Laws.refused.of(Storage.allocate(d, n, value, valid, decision)) == None{} : Maybe<&2, Storage.Error>}:
783  match valid:
784    case True{}:
785      {==}
786    case False{}:
787      Empty.absurd({Laws.refused.of(Storage.allocate(d, n, value, False{}, decision)) == None{} : Maybe<&2, Storage.Error>}, Arith.clash_true(yes))

Uses (10)

Used by (1)