merge-sets ( blues reds -- seq )


Vocabulary
compiler.cfg.ssa.interference.private

Inputs
bluesan object
redsan object


Outputs
seqan object


Definition


:: merge-sets ( blues reds -- seq )
blues length :> nb reds length :> nr 0 :> b! 0 :> r! nb nr +
[
r nr =
[ t ]
[ b nb < [ b blues nth r reds nth before? ] [ f ] if ]
if
[ b blues nth blue >>color b 1 + b! ]
[ r reds nth red >>color r 1 + r! ] if
] replicate ;