diff --git a/lemon/fractional_matching.h b/lemon/fractional_matching.h --- a/lemon/fractional_matching.h +++ b/lemon/fractional_matching.h @@ -1166,6 +1166,11 @@ (*_delta3_index)[e] = _delta3->PRE_HEAP; } + _delta1->clear(); + _delta2->clear(); + _delta3->clear(); + _tree_set->clear(); + for (NodeIt n(_graph); n != INVALID; ++n) { Value max = 0; for (OutArcIt e(_graph, n); e != INVALID; ++e) { @@ -1905,6 +1910,10 @@ (*_delta3_index)[e] = _delta3->PRE_HEAP; } + _delta2->clear(); + _delta3->clear(); + _tree_set->clear(); + for (NodeIt n(_graph); n != INVALID; ++n) { Value max = - std::numeric_limits::max(); for (OutArcIt e(_graph, n); e != INVALID; ++e) {