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)}