def lpops
bend-visgraph@2.0.0.0 · visgraph.bend:261
import bend-visgraph@2.0.0.0/visgraph.bend as Visgraph
import Base
261def lpops(rest: Stack, beat: Bool, +y: F32, +i: U32, +j: U32, +kj: F32, rights: Array<U32>, +visits: F32) -> Arrived:
262 match rest beat:
263 case KCon{+j2, +k2, rest2} True{}:
264 +r = (i - 1 - j : U32)
265 lpops(rest2, F32.is_gt(y, k2), y, i, j2, k2, Array.set(U32, rights, j, r), F32.add(visits, U32.to_f32(r)))
266 case KNil{} True{}:
267 +r = (i - 1 - j : U32)
268 PopsAll{Array.set(U32, rights, j, r), F32.add(visits, U32.to_f32(r))}
269 case _ False{}:
270 Bounded{(j + 1 : U32), kj, KCon{j, kj, rest}, rights, visits}