def b64.val

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

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

112# 0..63 the sextet, 64 for `=`, 255 for anything else.
113def b64.val(+c: U32) -> U32:
114  sel(U32.is_ge(c, 65) && U32.is_le(c, 90), (c - 65 : U32),
115  sel(U32.is_ge(c, 97) && U32.is_le(c, 122), (c - 71 : U32),
116  sel(U32.is_ge(c, 48) && U32.is_le(c, 57), (c + 4 : U32),
117  sel(U32.is_eq(c, 43), 62,
118  sel(U32.is_eq(c, 47), 63,
119  sel(U32.is_eq(c, 61), 64, 255))))))

Uses (8)

Used by (1)