From f5f1d019d81de5e93aa53237d31ecbfcd9dd06c0 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Wed, 25 Oct 2017 09:00:35 -0700 Subject: [PATCH] missing files Signed-off-by: Nikolaj Bjorner --- src/util/min_cut.cpp | 4 ++-- src/util/min_cut.h | 14 +++++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/util/min_cut.cpp b/src/util/min_cut.cpp index a56c5f6a0..2f7bdb862 100644 --- a/src/util/min_cut.cpp +++ b/src/util/min_cut.cpp @@ -28,9 +28,9 @@ unsigned min_cut::new_node() { return m_edges.size() - 1; } -void min_cut::add_edge(unsigned int i, unsigned int j) { +void min_cut::add_edge(unsigned int i, unsigned int j, unsigned capacity) { m_edges.reserve(i + 1); - m_edges[i].push_back(edge(j, 1)); + m_edges[i].push_back(edge(j, capacity)); TRACE("spacer.mincut", tout << "adding edge (" << i << "," << j << ")\n";); } diff --git a/src/util/min_cut.h b/src/util/min_cut.h index 246377f1f..5a783a8d0 100644 --- a/src/util/min_cut.h +++ b/src/util/min_cut.h @@ -27,12 +27,20 @@ class min_cut { public: min_cut(); - unsigned new_node(); /* - \brief add an edge (with unit capacity) + \brief create a node */ - void add_edge(unsigned i, unsigned j); + unsigned new_node(); + /* + \brief add an i -> j edge with (unit) capacity + */ + void add_edge(unsigned i, unsigned j, unsigned capacity = 1); + + /* + \brief produce a min cut between source node = 0 and target node = 1. + NB. the function changes capacities on edges. + */ void compute_min_cut(unsigned_vector& cut_nodes); private: