def u32s.go
bend-ml-llama@0.2.1.0 · main.bend:1582
import bend-ml-llama@0.2.1.0/main.bend as BendMlLlama
import Base
1582
1583def u32s.go(bs: List<&2, U32>, dg: Bool, +cur: U32, have: Bool, acc: List<&2, U32>) -> List<&2, U32>:
1584 match bs dg have:
1585 case Nil{} _ True{}:
1586 List.reverse(&2, U32, cur <> acc)
1587 case Nil{} _ False{}:
1588 List.reverse(&2, U32, acc)
1589 case Con{+b, +t} True{} _:
1590 u32s.go(t, digit_head(t), ((cur * 10 : U32) + U32.sub(b, 48) : U32), True{}, acc)
1591 case Con{b, +t} False{} True{}:
1592 u32s.go(t, digit_head(t), 0, False{}, cur <> acc)
1593 case Con{b, +t} False{} False{}:
1594 u32s.go(t, digit_head(t), 0, False{}, acc)