def B64.next.go
bend-kube-runtime@0.2.0.0 · src/base64.bend:44
import bend-kube-runtime@0.2.0.0/src/base64.bend as Base64
import Base
44def B64.next.go(+acc: U32, +bits: U32, ok: Bool, +v: U32, skip: Bool, bad: Bool, full: Bool) ->
45 B64:
46 match skip bad full:
47 case True{} _ _:
48 B64{acc, bits, ok}
49 case False{} True{} _:
50 B64{acc, bits, False{}}
51 case False{} False{} True{}:
52
53 B64{(((acc << 6n) .|. v) .&. ((1 << U32.to_nat((bits - 2 : U32))) - 1) : U32),
54 (bits - 2 : U32), ok}
55 case False{} False{} False{}:
56 B64{((acc << 6n) .|. v : U32), (bits + 6 : U32), ok}