def put

bend-kit-cbor@0.3.0.0 · cbor.bend:42

import bend-kit-cbor@0.3.0.0/cbor.bend as Cbor
import Base

42def put(full: Bool, buf: Array<U32>, +cap: U32, +n: U32, +word: U32) -> W:
43  match full:
44    case True{}:
45      +k = (n >> 2n : U32)
46      +grow = U32.is_eq(k, cap)
47      +cap2 = Bool.pick(U32, grow, (cap * 2 : U32), cap)
48      W{Array.set(U32, grow.if(grow, buf, k), k, word), cap2, (n + 1 : U32), 0}
49    case False{}:
50      W{buf, cap, (n + 1 : U32), word}

Uses (11)

Used by (1)