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}

Uses (13)

Used by (1)