def ml.go

bend-kit-zlib@0.5.1.0 · zlib.bend:875

import bend-kit-zlib@0.5.1.0/zlib.bend as Zlib
import Base

875# Counts equal bytes from a and from b, up to fuel.
876def ml.go(fuel: Nat, st: Ml) -> Lz & U32:
877  match fuel:
878    case 0n:
879      Ml{z, a, b, +k, eq} = st
880      (z, ml.len(k, eq))
881    case 1n+f:
882      Ml{z, +a, +b, +k, eq} = st
883      match eq:
884        case True{}:
885          ml.go(f, ml.read(lz.at(z, (a + k : U32)), a, b, k))
886        case False{}:
887          (z, (k - 1 : U32))

Uses (12)

Used by (1)