def Huff.from_codes

bend-kit-bits@0.1.0.1 · bits.bend:279

import bend-kit-bits@0.1.0.1/bits.bend as Bits
import Base

279# A table from codes. Codes go shortest first, ties in list order; length 0 means no code.
280# None when a length exceeds 16 or the lengths over-subscribe. An incomplete set is allowed,
281# and decode answers None for its unused codes. Symbols must be below 2^27.
282def Huff.from_codes(+msb: Bool, +xs: List<&2, Code>) -> Maybe<&1, Huff>:
283  +max = lens.max(xs, 0)
284  build.short(U32.is_le(max, 16), msb, max, xs)

Uses (8)

Used by (1)