Words.ensure: def of gralha-byte-words@0.1.0.0 Import: import gralha-byte-words@0.1.0.0/words.bend as Words Lines 60-68 of gralha-byte-words@0.1.0.0/words.bend: https://jend.leeeet.dev/read.txt?path=gralha-byte-words@0.1.0.0/words.bend&start_line=60&end_line=68 import Base # (out, cap) with cap >= need; ok says it already is def ensure(n: Nat, out: Array, +cap: U32, +need: U32, ok: Bool) -> Array & U32: match n, ok: case k, True{}: (out, cap) case 0n, False{}: (out, cap) case 1n+p, False{}: ensure(p, grow(out, cap), (cap * 2 : U32), need, U32.is_ge((cap * 2 : U32), need)) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_ge https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.mul https://jend.leeeet.dev/definition.txt?path=gralha-byte-words@0.1.0.0/words.bend&name=grow