def width
import ezmcp@0.1.0.0/src/line.bend as Lineimport Base
106# 1 for ASCII, 2 to 4 for a lead byte, 0 for a byte that starts nothing
107def width(+byte: U32) -> Width:
108 Bool.pick(Width, U32.is_lt(byte, 128), W1{},
109 Bool.pick(Width, Bool.and(U32.is_ge(byte, 194), U32.is_le(byte, 223)), W2{},
110 Bool.pick(Width, Bool.and(U32.is_ge(byte, 224), U32.is_le(byte, 239)), W3{},
111 Bool.pick(Width, Bool.and(U32.is_ge(byte, 240), U32.is_le(byte, 244)), W4{},
112 W0{}))))