def decode.hit
bend-kit-bits@0.1.0.1 · bits.bend:297
import bend-kit-bits@0.1.0.1/bits.bend as Bits
import Base
297
298
299def decode.hit(+msb: Bool, +max: U32, +len: U32, +pos: U32, +left: U32, buf: Array<U32>, r: Array<U32> & U32) -> Huff & Reader & Maybe<&2, U32>:
300 (t, +e) = r
301 +l = (e .&. 31 : U32)
302 +ok = Bool.and(U32.is_ne(l, 0), U32.is_le(l, left))
303 (Huff{msb, max, t}, Reader{len, buf, Bool.pick(U32, ok, (pos + l : U32), pos)}, Bool.pick(Maybe<&2, U32>, ok, Some{U32.shrn(e, 5n)}, None{}))