Changeset 956:141f9c0db4a3 in lemon for lemon/matching.h
 Timestamp:
 03/06/10 15:35:12 (10 years ago)
 Branch:
 default
 Children:
 957:f802439d2b58, 959:38213abd2911, 1041:f112c18bc304
 Phase:
 public
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

lemon/matching.h
r955 r956 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 200320 095 * Copyright (C) 20032010 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 1624 1624 (*_delta4_index)[i] = _delta4>PRE_HEAP; 1625 1625 } 1626 1626 1627 1627 _unmatched = _node_num; 1628 1628 … … 1679 1679 _blossom_node_list.clear(); 1680 1680 _blossom_potential.clear(); 1681 1681 1682 1682 if (_fractional == 0) { 1683 1683 _fractional = new FractionalMatching(_graph, _weight, false); … … 1751 1751 subblossoms[num] = _blossom_set>find(v); 1752 1752 _delta1>push(v, _fractional>nodeValue(v)); 1753 v = _graph.target(_fractional>matching(v)); 1753 v = _graph.target(_fractional>matching(v)); 1754 1754 } 1755 1756 int surface = 1755 1756 int surface = 1757 1757 _blossom_set>join(subblossoms.begin(), subblossoms.end()); 1758 1758 (*_blossom_data)[surface].status = EVEN; … … 1761 1761 (*_blossom_data)[surface].pot = 0; 1762 1762 (*_blossom_data)[surface].offset = 0; 1763 1763 1764 1764 _tree_set>insert(surface); 1765 1765 ++_unmatched; … … 1811 1811 } 1812 1812 } 1813 1813 1814 1814 if (!(*_node_data)[ni].heap.empty()) { 1815 1815 _blossom_set>decrease(n, (*_node_data)[ni].heap.prio()); … … 2270 2270 int _unmatched; 2271 2271 2272 typedef MaxWeightedPerfectFractionalMatching<Graph, WeightMap> 2272 typedef MaxWeightedPerfectFractionalMatching<Graph, WeightMap> 2273 2273 FractionalMatching; 2274 2274 FractionalMatching *_fractional; … … 3096 3096 _blossom_node_list.clear(); 3097 3097 _blossom_potential.clear(); 3098 3098 3099 3099 if (_fractional == 0) { 3100 3100 _fractional = new FractionalMatching(_graph, _weight, false); … … 3162 3162 while (n != v) { 3163 3163 subblossoms[num] = _blossom_set>find(v); 3164 v = _graph.target(_fractional>matching(v)); 3164 v = _graph.target(_fractional>matching(v)); 3165 3165 } 3166 3167 int surface = 3166 3167 int surface = 3168 3168 _blossom_set>join(subblossoms.begin(), subblossoms.end()); 3169 3169 (*_blossom_data)[surface].status = EVEN; … … 3172 3172 (*_blossom_data)[surface].pot = 0; 3173 3173 (*_blossom_data)[surface].offset = 0; 3174 3174 3175 3175 _tree_set>insert(surface); 3176 3176 ++_unmatched; … … 3222 3222 } 3223 3223 } 3224 3224 3225 3225 if (!(*_node_data)[ni].heap.empty()) { 3226 3226 _blossom_set>decrease(n, (*_node_data)[ni].heap.prio());
Note: See TracChangeset
for help on using the changeset viewer.