def asc.bit

bend-kit-regex@0.8.0.0 · regex.bend:913

import bend-kit-regex@0.8.0.0/regex.bend as Regex
import Base

913def asc.bit(hit: Bool, +c: U32, a: Asc) -> Asc:
914  match hit:
915    case False{}:
916      a
917    case True{}:
918      Asc{+m0, +m1, +m2, +m3} = a
919      +b = (1 << U32.to_nat((c .&. 31 : U32)) : U32)
920      Asc{Bool.pick(U32, U32.is_eq((c >> 5n : U32), 0), (m0 .|. b : U32), m0), Bool.pick(U32, U32.is_eq((c >> 5n : U32), 1), (m1 .|. b : U32), m1), Bool.pick(U32, U32.is_eq((c >> 5n : U32), 2), (m2 .|. b : U32), m2), Bool.pick(U32, U32.is_eq((c >> 5n : U32), 3), (m3 .|. b : U32), m3)}

Uses (10)

Used by (1)