def u64.show.go
import bend-kit-redis@0.3.0.0/redis.bend as Redisimport Base
75# z is set once the value left to print is zero; 20 digits hold any u64.
76def u64.show.go(f: Nat, q: U32 & U32 & U32, acc: String, +z: Bool) -> String:
77 match f:
78 case 0n:
79 acc
80 case 1n+p:
81 # A + on a later tuple binder fails to check (https://github.com/bendlang/bend/issues/1077).
82 (hi0, lo0, r) = q
83 +hi = hi0
84 +lo = lo0
85 u64.show.go(p, u64.div10(hi, lo), digit.put(z, r, acc), Bool.or(z, U32.is_eq((hi .|. lo : U32), 0)))