augment-residual ( predecessors network -- amount )


Vocabulary
compiler.cfg.register-allocation.greedy.regions

Inputs
predecessorsan object
networkan object


Outputs
amountan object


Definition


:: augment-residual ( predecessors network -- amount )
network sink>> :> node! 1/0. :> amount!
[ node network source>> = ] [
node predecessors at :> from from node 2array
network capacities>> at amount min amount! from node!
] until network sink>> node!
[ node network source>> = ] [
node predecessors at :> from from node 2array
:> forward node from 2array
:> reverse forward network capacities>> at amount -
forward network capacities>> set-at
reverse network capacities>> at 0 or amount +
reverse network capacities>> set-at from node!
] until amount ;