def AaSignal.num.go
bend-osdev-apparmor@0.1.0.0 · rule_signal.bend:32
import bend-osdev-apparmor@0.1.0.0/rule_signal.bend as RuleSignal
import Base
32
33def AaSignal.num.go(xs: List<&2, U32>, +acc: U32, +n: Nat) -> Maybe<&2, U32>:
34 match xs:
35 case Nil{}:
36 Bool.pick(Maybe<&2, U32>, Nat.is_eq(n, 0n), None{}, Some{acc})
37 case Con{+h, t}:
38 Bool.pick(Maybe<&2, U32>, Bool.and(Bool.and(U32.is_ge(h, 48), U32.is_le(h, 57)), Nat.is_lt(n, 3n)), AaSignal.num.go(t, U32.add(U32.mul(acc, 10), U32.sub(h, 48)), 1n+n), None{})