def utf8.cat.pick

cswap-bend-cli@0.1.0.0 · b64.bend:8

import cswap-bend-cli@0.1.0.0/b64.bend as B64
import Base

8def utf8.cat.pick(a: Bool, b: Bool, d: Bool, +c: U32, rest: List<&2, U32>) -> List<&2, U32>:
9  match a b d:
10    case True{} _ _:
11      c <> rest
12    case False{} True{} _:
13      (192 .|. (c >> 6n) : U32) <> (128 .|. (c .&. 63) : U32) <> rest
14    case False{} False{} True{}:
15      (224 .|. (c >> 12n) : U32) <> (128 .|. ((c >> 6n) .&. 63) : U32) <> (128 .|. (c .&. 63) : U32) <> rest
16    case False{} False{} False{}:
17      (240 .|. (c >> 18n) : U32) <> (128 .|. ((c >> 12n) .&. 63) : U32) <> (128 .|. ((c >> 6n) .&. 63) : U32) <> (128 .|. (c .&. 63) : U32) <> rest

Uses (6)

Used by (1)