summaryrefslogtreecommitdiff
path: root/lib/include/network.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/network.hpp')
-rw-r--r--lib/include/network.hpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/include/network.hpp b/lib/include/network.hpp
index d562530..37f1912 100644
--- a/lib/include/network.hpp
+++ b/lib/include/network.hpp
@@ -31,9 +31,10 @@ class network {
private:
problem px;
problem py;
- std::unordered_map<std::array<unsigned, 2>, bool> seen_pairs;
+ std::unordered_map<std::array<unsigned, 2>, bool> seen_pairs_x;
+ std::unordered_map<std::array<unsigned, 2>, bool> seen_pairs_y;
- void update_backbone(const std::vector<double>& c);
+ void update_backbone(const std::vector<double>& c, const std::array<double, 2>& cond);
void break_edge(unsigned, bool unbreak = false);
void get_cycle_edges_helper(std::set<unsigned>&, std::set<unsigned>&, unsigned, unsigned) const;
bool find_cycle_helper(std::array<unsigned, 2>&, const std::set<unsigned>&, unsigned, unsigned,
@@ -47,6 +48,7 @@ private:
std::list<std::set<unsigned>> get_tie_flaps(unsigned) const;
public:
+ bool two_sides;
const graph& G;
ClusterTree C;
@@ -55,7 +57,7 @@ public:
std::vector<bool> backbone;
std::vector<long double> thresholds;
- network(const graph&, cholmod_common*);
+ network(const graph&, bool two_sides, cholmod_common*);
void set_thresholds(double, std::mt19937&);
void fracture(hooks&);
@@ -76,7 +78,7 @@ private:
double weight;
public:
- fuse_network(const graph&, cholmod_common*, double weight = 1.0);
+ fuse_network(const graph&, cholmod_common*);
fuse_network(const fuse_network&);
current_info get_current_info() override;