def push_in

bend-collections@1.0.0.0 · src/containers/bitlist.bend:121

import bend-collections@1.0.0.0/src/containers/bitlist.bend as Bitlist
import Base
import bend-collections@1.0.0.0/src/containers/bitset.bend as B
import bend-collections@1.0.0.0/src/containers/dynamic_array.bend as D
import bend-collections@1.0.0.0/src/containers/types/bitlist.bend as E

121# Bit n already lies in a stored word, where it is zero (masked tail).
122def push_in(+lim: Maybe<&2, Nat>, +n: Nat, w: D.DynArray<&2, U32>, +v: Bool) -> Bitlist & Result<&2, &2, E.Error, Unit>:
123  match v:
124    case False{}:
125      (BL{lim, 1n+n, w}, Done{Unit{}})
126    case True{}:
127      assign_word(n, True{}, lim, 1n+n, D.get(U32, w, B.wordix(n)))

Uses (14)

Used by (1)