Bug fixes.
authorkpeter
Wed, 05 Dec 2007 01:43:02 +0000
changeset 2533aea952a1af99
parent 2532 06495c0e12f5
child 2534 edad4c3e926d
Bug fixes.
lemon/capacity_scaling.h
lemon/circulation.h
lemon/cycle_canceling.h
lemon/min_cost_flow.h
lemon/min_cost_max_flow.h
lemon/network_simplex.h
     1.1 --- a/lemon/capacity_scaling.h	Tue Dec 04 18:51:35 2007 +0000
     1.2 +++ b/lemon/capacity_scaling.h	Wed Dec 05 01:43:02 2007 +0000
     1.3 @@ -66,12 +66,12 @@
     1.4    ///
     1.5    /// \author Peter Kovacs
     1.6  
     1.7 -template < typename Graph,
     1.8 -	   typename LowerMap = typename Graph::template EdgeMap<int>,
     1.9 -	   typename CapacityMap = LowerMap,
    1.10 -	   typename CostMap = typename Graph::template EdgeMap<int>,
    1.11 -	   typename SupplyMap = typename Graph::template NodeMap
    1.12 -				<typename CapacityMap::Value> >
    1.13 +  template < typename Graph,
    1.14 +	     typename LowerMap = typename Graph::template EdgeMap<int>,
    1.15 +	     typename CapacityMap = LowerMap,
    1.16 +	     typename CostMap = typename Graph::template EdgeMap<int>,
    1.17 +	     typename SupplyMap = typename Graph::template NodeMap
    1.18 +				  <typename CapacityMap::Value> >
    1.19    class CapacityScaling
    1.20    {
    1.21      typedef typename Graph::Node Node;
    1.22 @@ -638,7 +638,7 @@
    1.23  	}
    1.24        }
    1.25  #ifdef _DEBUG_ITER_
    1.26 -      std::cout << "Cost Scaling algorithm finished with running Dijkstra algorithm "
    1.27 +      std::cout << "Capacity Scaling algorithm finished with running Dijkstra algorithm "
    1.28  	<< dijk_num << " times." << std::endl;
    1.29  #endif
    1.30  
     2.1 --- a/lemon/circulation.h	Tue Dec 04 18:51:35 2007 +0000
     2.2 +++ b/lemon/circulation.h	Wed Dec 05 01:43:02 2007 +0000
     2.3 @@ -373,9 +373,9 @@
     2.4        return tolerance;
     2.5      } 
     2.6      
     2.7 -    /// \name Execution control The simplest way to execute the
     2.8 -    /// algorithm is to use one of the member functions called \c
     2.9 -    /// run().  
    2.10 +    /// \name Execution control
    2.11 +    /// The simplest way to execute the algorithm is to use one of the
    2.12 +    /// member functions called \c run().
    2.13      /// \n 
    2.14      /// If you need more control on initial solution or execution then
    2.15      /// you have to call one \ref init() function and then the start()
     3.1 --- a/lemon/cycle_canceling.h	Tue Dec 04 18:51:35 2007 +0000
     3.2 +++ b/lemon/cycle_canceling.h	Wed Dec 05 01:43:02 2007 +0000
     3.3 @@ -86,12 +86,12 @@
     3.4    ///
     3.5    /// \author Peter Kovacs
     3.6  
     3.7 -template < typename Graph,
     3.8 -	   typename LowerMap = typename Graph::template EdgeMap<int>,
     3.9 -	   typename CapacityMap = LowerMap,
    3.10 -	   typename CostMap = typename Graph::template EdgeMap<int>,
    3.11 -	   typename SupplyMap = typename Graph::template NodeMap
    3.12 -				<typename CapacityMap::Value> >
    3.13 +  template < typename Graph,
    3.14 +             typename LowerMap = typename Graph::template EdgeMap<int>,
    3.15 +             typename CapacityMap = LowerMap,
    3.16 +             typename CostMap = typename Graph::template EdgeMap<int>,
    3.17 +             typename SupplyMap = typename Graph::template NodeMap
    3.18 +                                  <typename CapacityMap::Value> >
    3.19    class CycleCanceling
    3.20    {
    3.21      typedef typename Graph::Node Node;
    3.22 @@ -323,12 +323,12 @@
    3.23        if (sum != 0) return false;
    3.24  
    3.25        // Finding a feasible flow
    3.26 -      Circulation< Graph, Capacity, ConstMap<Edge, Capacity>,
    3.27 -	CapacityRefMap, SupplyMap >::DefFlowMap<FlowMap>::Create
    3.28 -	circulation( graph, constMap<Edge>((Capacity)0),
    3.29 -		     capacity, supply);
    3.30 -      circulation.flowMap(flowMap);
    3.31 -      return circulation.run();
    3.32 +      Circulation< Graph, ConstMap<Edge, Capacity>, CapacityRefMap,
    3.33 +		   SupplyMap >
    3.34 +	circulation( graph, constMap<Edge>((Capacity)0), capacity, 
    3.35 +		     supply );
    3.36 +      circulation.flowMap(flow);
    3.37 +      return circulation.run() == -1;
    3.38      }
    3.39  
    3.40  #ifdef LIMITED_CYCLE_CANCELING
     4.1 --- a/lemon/min_cost_flow.h	Tue Dec 04 18:51:35 2007 +0000
     4.2 +++ b/lemon/min_cost_flow.h	Wed Dec 05 01:43:02 2007 +0000
     4.3 @@ -63,12 +63,12 @@
     4.4    ///
     4.5    /// \author Peter Kovacs
     4.6  
     4.7 -template < typename Graph,
     4.8 -	   typename LowerMap = typename Graph::template EdgeMap<int>,
     4.9 -	   typename CapacityMap = LowerMap,
    4.10 -	   typename CostMap = typename Graph::template EdgeMap<int>,
    4.11 -	   typename SupplyMap = typename Graph::template NodeMap
    4.12 -				<typename CapacityMap::Value> >
    4.13 +  template < typename Graph,
    4.14 +             typename LowerMap = typename Graph::template EdgeMap<int>,
    4.15 +             typename CapacityMap = LowerMap,
    4.16 +             typename CostMap = typename Graph::template EdgeMap<int>,
    4.17 +             typename SupplyMap = typename Graph::template NodeMap
    4.18 +                                  <typename CapacityMap::Value> >
    4.19    class MinCostFlow :
    4.20      public NetworkSimplex< Graph,
    4.21  			   LowerMap,
     5.1 --- a/lemon/min_cost_max_flow.h	Tue Dec 04 18:51:35 2007 +0000
     5.2 +++ b/lemon/min_cost_max_flow.h	Wed Dec 05 01:43:02 2007 +0000
     5.3 @@ -57,9 +57,9 @@
     5.4    ///
     5.5    /// \author Peter Kovacs
     5.6  
     5.7 -template < typename Graph,
     5.8 -	   typename CapacityMap = typename Graph::template EdgeMap<int>,
     5.9 -	   typename CostMap = typename Graph::template EdgeMap<int> >
    5.10 +  template < typename Graph,
    5.11 +	     typename CapacityMap = typename Graph::template EdgeMap<int>,
    5.12 +	     typename CostMap = typename Graph::template EdgeMap<int> >
    5.13    class MinCostMaxFlow
    5.14    {
    5.15      typedef typename Graph::Node Node;
     6.1 --- a/lemon/network_simplex.h	Tue Dec 04 18:51:35 2007 +0000
     6.2 +++ b/lemon/network_simplex.h	Wed Dec 05 01:43:02 2007 +0000
     6.3 @@ -93,12 +93,12 @@
     6.4    ///
     6.5    /// \author Peter Kovacs
     6.6  
     6.7 -template < typename Graph,
     6.8 -	   typename LowerMap = typename Graph::template EdgeMap<int>,
     6.9 -	   typename CapacityMap = LowerMap,
    6.10 -	   typename CostMap = typename Graph::template EdgeMap<int>,
    6.11 -	   typename SupplyMap = typename Graph::template NodeMap
    6.12 -				<typename CapacityMap::Value> >
    6.13 +  template < typename Graph,
    6.14 +             typename LowerMap = typename Graph::template EdgeMap<int>,
    6.15 +             typename CapacityMap = LowerMap,
    6.16 +             typename CostMap = typename Graph::template EdgeMap<int>,
    6.17 +             typename SupplyMap = typename Graph::template NodeMap
    6.18 +                                  <typename CapacityMap::Value> >
    6.19    class NetworkSimplex
    6.20    {
    6.21      typedef typename LowerMap::Value Lower;