def pops
bend-visgraph@2.0.0.0 · visgraph.bend:233
import bend-visgraph@2.0.0.0/visgraph.bend as Visgraph
import Base
233def pops(rest: Stack, beat: Bool, +y: F32, +i: U32, +j: U32, +kj: F32, rights: Array<U32>, +visits: F32) -> Popped:
234 match rest beat:
235 case KCon{+j2, +k2, rest2} True{}:
236 +r = (i - 1 - j : U32)
237 pops(rest2, F32.is_gt(y, k2), y, i, j2, k2, Array.set(U32, rights, j, r), F32.add(visits, U32.to_f32(r)))
238 case KNil{} True{}:
239 +r = (i - 1 - j : U32)
240 Popped{0, inf(), KNil{}, Array.set(U32, rights, j, r), F32.add(visits, U32.to_f32(r))}
241 case _ False{}:
242 Popped{(j + 1 : U32), kj, KCon{j, kj, rest}, rights, visits}