Words.fit: def of gralha-byte-words@0.1.0.0 Import: import gralha-byte-words@0.1.0.0/words.bend as Words Lines 20-28 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=20&end_line=28 import Base # the smallest depth d with 2^d >= need def fit(n: Nat, +d: U32, +need: U32, ok: Bool) -> U32: match n, ok: case k, True{}: d case 0n, False{}: d case 1n+p, False{}: fit(p, (d + 1 : U32), need, U32.is_ge(U32.shln(1, U32.to_nat((d + 1 : U32))), need)) Uses (7): 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=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.is_ge 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