def merge_block

bend-visgraph@2.0.0.0 · visgraph.bend:386

import bend-visgraph@2.0.0.0/visgraph.bend as Visgraph
import Base

386# The merge replays the stack over every point before the block. The points
387# the block's own stack could not bound pop it in order; the others sit on
388# the block's stack, which goes on top.
389def merge_block(b: Block, m: Merged) -> Merged:
390  Block{+start, +opening_nans, unbounded, st, +visits} = b
391  Merged{g, lefts, rights, +v} = m
392  push_block_stack(st, bound_unbounded(in_order(unbounded, UNil{}), Merged{push_opening_nans(U32.to_nat(opening_nans), start, g), lefts, rights, F32.add(v, visits)}))

Uses (9)

Used by (2)