summaryrefslogtreecommitdiff
path: root/src/Collapse/include
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-04-06 15:01:38 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-04-06 15:01:38 +0200
commit076cc203005373ddcb58055af3db604240157601 (patch)
treea317c6b7b424d03def83328263aec0f9fcd983d3 /src/Collapse/include
parent5a3c20d419dee546e2eefe1081f8ae2ce509b2e2 (diff)
remove num_vertices from flag complex sparse matrix constructor as demanded by Marc in strong complex review. Some cleanup
Diffstat (limited to 'src/Collapse/include')
-rw-r--r--src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h b/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h
index 57151371..786a970a 100644
--- a/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h
+++ b/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h
@@ -62,7 +62,7 @@ class Flag_complex_sparse_matrix {
private:
std::unordered_map<int, Vertex> row_to_vertex;
- // Vertices strored as an unordered_set
+ // Vertices stored as an unordered_set
std::unordered_set<Vertex> vertices;
// Unordered set of removed edges. (to enforce removal from the matrix)
@@ -132,8 +132,6 @@ class Flag_complex_sparse_matrix {
*/
std::size_t rows;
- std::size_t numOneSimplices;
-
bool edgeCollapsed;
// Edge e is the actual edge (u,v). Not the row ids in the matrixs
@@ -309,16 +307,15 @@ class Flag_complex_sparse_matrix {
<B>domination_indicator</B> are initialised by init() function which is
called at the begining of this. <br>
*/
- Flag_complex_sparse_matrix(const size_t& num_vertices, const Filtered_sorted_edge_list& edge_t)
+ Flag_complex_sparse_matrix(const Filtered_sorted_edge_list& edge_t)
: rows(0),
- numOneSimplices(0),
edgeCollapsed(false) {
- // Initializing sparse_row_adjacency_matrix, This is a row-major sparse matrix.
- sparse_row_adjacency_matrix = sparseRowMatrix(num_vertices, num_vertices);
-
for (size_t bgn_idx = 0; bgn_idx < edge_t.size(); bgn_idx++) {
- f_edge_vector.push_back(
- {{std::get<1>(edge_t.at(bgn_idx)), std::get<2>(edge_t.at(bgn_idx))}, std::get<0>(edge_t.at(bgn_idx))});
+ Vertex u = std::get<1>(edge_t.at(bgn_idx));
+ Vertex v = std::get<2>(edge_t.at(bgn_idx));
+ f_edge_vector.push_back({{u, v}, std::get<0>(edge_t.at(bgn_idx))});
+ vertices.emplace(u);
+ vertices.emplace(v);
}
}
@@ -330,6 +327,9 @@ class Flag_complex_sparse_matrix {
u_set_dominated_redges.clear();
critical_edge_indicator.clear();
+ // Initializing sparse_row_adjacency_matrix, This is a row-major sparse matrix.
+ sparse_row_adjacency_matrix = sparseRowMatrix(vertices.size(), vertices.size());
+
while (endIdx < f_edge_vector.size()) {
EdgeFilt fec = f_edge_vector[endIdx];
Edge e = std::get<0>(fec);
@@ -371,7 +371,6 @@ class Flag_complex_sparse_matrix {
domination_indicator.push_back(false);
vertex_to_row.insert(std::make_pair(vertex, rows));
row_to_vertex.insert(std::make_pair(rows, vertex));
- vertices.emplace(vertex);
rows++;
}
}
@@ -393,7 +392,6 @@ class Flag_complex_sparse_matrix {
#endif // DEBUG_TRACES
sparse_row_adjacency_matrix.insert(rw_u->second, rw_v->second) = filt_val;
sparse_row_adjacency_matrix.insert(rw_v->second, rw_u->second) = filt_val;
- numOneSimplices++;
}
#ifdef DEBUG_TRACES
else {
@@ -406,4 +404,4 @@ class Flag_complex_sparse_matrix {
};
-#endif // FLAG_COMPLEX_SPARSE_MATRIX_H_ \ No newline at end of file
+#endif // FLAG_COMPLEX_SPARSE_MATRIX_H_