# HG changeset patch # User marci # Date 1083266752 0 # Node ID 11ad69691d180e732ce0ad5f499a4e14b55df2a7 # Parent 8ebe33191347b832e3128f20e2f59221f8c1c837 some documentation diff -r 8ebe33191347 -r 11ad69691d18 src/work/jacint/max_flow.h --- a/src/work/jacint/max_flow.h Thu Apr 29 18:48:25 2004 +0000 +++ b/src/work/jacint/max_flow.h Thu Apr 29 19:25:52 2004 +0000 @@ -87,6 +87,7 @@ public: + ///\todo Document this enum flowEnum{ ZERO_FLOW=0, GEN_FLOW=1, @@ -104,8 +105,11 @@ preflow( ZERO_FLOW ); } - /// A preflow algorithm is run. The initial edge-set have to be a flow, - /// or from a preflow, according to \c fe. + /// A preflow algorithm is run. + ///\pre The initial edge-map have to be a + /// zero flow if \c fe is \c ZERO_FLOW, + /// a flow if \c fe is \c GEN_FLOW, + /// and a pre-flow it is \c PREFLOW. void preflow( flowEnum fe ) { preflowPhase0(fe); preflowPhase1(); @@ -121,16 +125,19 @@ /// Starting from a flow, this method searches for an augmenting path /// according to the Edmonds-Karp algorithm /// and augments the flow on if any. + /// The return value shows if the augmentation was succesful. bool augmentOnShortestPath(); /// Starting from a flow, this method searches for an augmenting blockin /// flow according to Dinits' algorithm and augments the flow on if any. /// The blocking flow is computed in a physically constructed /// residual graph of type \c Mutablegraph. + /// The return value show sif the augmentation was succesful. template bool augmentOnBlockingFlow(); /// The same as \c augmentOnBlockingFlow but the /// residual graph is not constructed physically. + /// The return value shows if the augmentation was succesful. bool augmentOnBlockingFlow2(); /// Returns the actual flow value. @@ -159,7 +166,6 @@ } } - /// The unique inclusionwise minimum cut is computed by /// processing a bfs from s in the residual graph. ///\pre flow have to be a max flow otherwise it will the whole node-set. @@ -242,10 +248,10 @@ template void minCut(CutMap& M) { minMinCut(M); } - /// - void resetSource(Node _s) {s=_s;} /// - void resetTarget(Node _t) {t=_t;} + void resetSource(Node _s) { s=_s; } + /// + void resetTarget(Node _t) { t=_t; } /// capacity-map is changed. void resetCap(const CapMap& _cap) { capacity=&_cap; }