affinity-colors ( graph order affinities -- colors )


Vocabulary
compiler.cfg.register-allocation.chordal

Inputs
graphan object
orderan object
affinitiesan object


Outputs
colorsan object


Definition


:: affinity-colors ( graph order affinities -- colors )
H{ } clone :> colors order [| vertex |
vertex graph at [ colors at ] map
sift :> used vertex affinities at [ colors at ] map sift
[ used member? not ] find nip :> preferred 0 :> color!
[ color used member? ] [ color 1 + color! ] while
preferred color or vertex colors set-at
] each colors ;