exchange-benefit ( component first-color second-color affinities colors -- benefit )


Vocabulary
compiler.cfg.register-allocation.chordal

Inputs
componentan object
first-coloran object
second-coloran object
affinitiesan object
colorsan object


Outputs
benefitan object


Definition


:: exchange-benefit
( component first-color second-color affinities colors -- benefit )
component keys [| vertex |
vertex colors at
:> before before first-color second-color
exchanged-color :> after vertex affinities at
[ component key? ] reject [| partner |
partner colors at :> other after other = 1 0 ?
before other = 1 0 ? -
] map-sum
] map-sum ;