# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1253038577 -7200
# Node ID 5a74b94f19c509485ea3c79001e4a7c6b5e2879b
# Parent 6d5f547e5bfb8131568ad50ea406129a056ac9ed
Small improvements for NetworkSimplex (#298)
diff --git a/lemon/network_simplex.h b/lemon/network_simplex.h
a
|
b
|
|
161 | 161 | |
162 | 162 | TEMPLATE_DIGRAPH_TYPEDEFS(GR); |
163 | 163 | |
164 | | typedef std::vector<Arc> ArcVector; |
165 | | typedef std::vector<Node> NodeVector; |
166 | 164 | typedef std::vector<int> IntVector; |
167 | 165 | typedef std::vector<bool> BoolVector; |
168 | 166 | typedef std::vector<Value> ValueVector; |
… |
… |
|
685 | 683 | if ((i += k) >= _arc_num) i = (i % k) + 1; |
686 | 684 | } |
687 | 685 | |
688 | | // Initialize maps |
689 | | for (int i = 0; i != _node_num; ++i) { |
690 | | _supply[i] = 0; |
691 | | } |
692 | | for (int i = 0; i != _arc_num; ++i) { |
693 | | _lower[i] = 0; |
694 | | _upper[i] = INF; |
695 | | _cost[i] = 1; |
696 | | } |
697 | | _have_lower = false; |
698 | | _stype = GEQ; |
| 686 | // Reset parameters |
| 687 | reset(); |
699 | 688 | } |
700 | 689 | |
701 | 690 | /// \name Parameters |
… |
… |
|
768 | 757 | /// This function sets the supply values of the nodes. |
769 | 758 | /// If neither this function nor \ref stSupply() is used before |
770 | 759 | /// calling \ref run(), the supply of each node will be set to zero. |
771 | | /// (It makes sense only if non-zero lower bounds are given.) |
772 | 760 | /// |
773 | 761 | /// \param map A node map storing the supply values. |
774 | 762 | /// Its \c Value type must be convertible to the \c Value type |
… |
… |
|
789 | 777 | /// and the required flow value. |
790 | 778 | /// If neither this function nor \ref supplyMap() is used before |
791 | 779 | /// calling \ref run(), the supply of each node will be set to zero. |
792 | | /// (It makes sense only if non-zero lower bounds are given.) |
793 | 780 | /// |
794 | 781 | /// Using this function has the same effect as using \ref supplyMap() |
795 | 782 | /// with such a map in which \c k is assigned to \c s, \c -k is |
… |
… |
|
944 | 931 | Number c = 0; |
945 | 932 | for (ArcIt a(_graph); a != INVALID; ++a) { |
946 | 933 | int i = _arc_id[a]; |
947 | | c += Number(_flow[i]) * Number(_cost[i]); |
| 934 | c += static_cast<Number>(_flow[i]) * static_cast<Number>(_cost[i]); |
948 | 935 | } |
949 | 936 | return c; |
950 | 937 | } |