def utf8.lead.multi

bend-kit-encoding@0.5.0.0 · encoding.bend:80

import bend-kit-encoding@0.5.0.0/encoding.bend as Encoding
import Base

80def utf8.lead.multi(+b: U32, out: String) -> Utf8:
81  +need = Bool.pick(U32, U32.is_lt(b, 224), 1, Bool.pick(U32, U32.is_lt(b, 240), 2, 3))
82  +lo = Bool.pick(U32, U32.is_eq(b, 224), 160, Bool.pick(U32, U32.is_eq(b, 240), 144, 128))
83  +hi = Bool.pick(U32, U32.is_eq(b, 237), 159, Bool.pick(U32, U32.is_eq(b, 244), 143, 191))
84  Utf8{need, lo, hi, U32.and(b, U32.shrn(63, U32.to_nat(need))), out}

Uses (9)

Used by (1)