def cstr.go

bend-kit-tar@0.3.0.0 · tar.bend:54

import bend-kit-tar@0.3.0.0/tar.bend as Tar
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

54def cstr.go(n: Nat, r: Array<U32> & U32, +j: U32, +k: U32, +done: Bool) -> Array<U32> & U32:
55  match n:
56    case 0n:
57      (a, c) = r
58      (a, k)
59    case 1n+p:
60      (a, +c) = r
61      match done:
62        case True{}:
63          (a, k)
64        case False{}:
65          +stop = U32.is_eq(c, 0)
66          cstr.go(p, Bytes.peek(a, (j + 1 : U32)), (j + 1 : U32), Bool.pick(U32, stop, k, (k + 1 : U32)), stop)

Uses (10)

Used by (1)