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# the digits of xs as a number, if every character is a digit (at most 3)
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{})

Uses (13)

Used by (1)