Bits.room: def of bend-kit-bits@0.1.0.1 Import: import bend-kit-bits@0.1.0.1/bits.bend as Bits Lines 118-125 of bend-kit-bits@0.1.0.1/bits.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-bits@0.1.0.1/bits.bend&start_line=118&end_line=125 import Base import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # A write adds at most 32 bits, so one doubling always makes room. def room(full: Bool, w: Writer) -> Writer: match full: case False{}: w case True{}: Writer{buf, +dep, pos} = w Writer{Bytes.dst(Bytes.copy(U32.shln(4, U32.to_nat(dep)), buf, Array.new(U32, U32.to_nat((dep + 1 : U32)), 0), 0, 0)), (dep + 1 : U32), pos} Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.new https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shln https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=bend-kit-bits@0.1.0.1/bits.bend&name=Writer https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=copy https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=dst