def qa.cached
bend-kit-regex@0.8.0.0 · regex.bend:1995
import bend-kit-regex@0.8.0.0/regex.bend as Regex
import Base
1995def qa.cached(r: Array<Tr> & Tr, a: Array<U32>, +keys: Trie<List<&2, Ix>>, +n: U32, +idx: U32, +j: U32, +d: Dc, ar: Ar, +c: U32, +prog: Trie<Inst>, +cfuel: Nat, +init: List<&2, Maybe<&2, U32>>, +start: Maybe<&2, List<&2, Inst>>, +any: Bool, +slots: Nat, +cap: U32) -> Qa:
1996 (tab, tr) = r
1997 match tr:
1998 case TrNo{}:
1999 qa.learn.vm(ar.vm(ar), a, tab, keys, n, idx, j, d, c, prog, cfuel, init, start, any, slots, cap)
2000 case TrSame{}:
2001 Qa{a, tab, keys, n, (idx / 128 : U32), j, d, qa.status(ar), True{}}
2002 case Tr{+next, +hit, +outs, +fresh}:
2003 Qa{a, tab, keys, n, next, j, d, qa.status(ar.cached(fresh, hit, outs, ar, init, j, start, Dc.char(d))), False{}}