def array_observation_model

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

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
import bendtorch-core@0.1.0.0/src/storage/refinement.bend as Refinement

322def array_observation_model(+depth: Nat, +length: Nat, -array: Array<F32>, +index: U32,
323  +checked: {Storage.index_matches(depth, length, index) == True{} : Bool}) -> ArrayObservationModel<depth, length, array, index, checked>:
324  ArrayObservationModel{
325    %Equal.sym(Bool, Nat.is_lt(U32.to_nat(index), length), True{}, checked_index_allowed(depth, length, index, checked)) :
326      {observe_allowed(depth, length, array, index, _) == Model.observe(F32, depth, array, Refinement.route(depth, index)) : Maybe<&2, F32>}
327    %Equal.sym(Bool, Storage.index_matches(depth, length, index), True{}, checked) :
328      {observe_index(depth, length, array, index, _) == Model.observe(F32, depth, array, Refinement.route(depth, index)) : Maybe<&2, F32>}
329    {==}}

Uses (16)

Used by (1)