From c9a896b194d8dcbd3d138356e104a78c14007730 Mon Sep 17 00:00:00 2001 From: Ulrich Bauer Date: Fri, 5 Aug 2016 00:07:44 +0200 Subject: Euclidean distance matrix moved in code --- ripser.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ripser.cpp b/ripser.cpp index 87599af..a3c4939 100644 --- a/ripser.cpp +++ b/ripser.cpp @@ -305,21 +305,6 @@ public: size_t size() const { return rows.size(); } }; -class euclidean_distance_matrix { -public: - std::vector> points; - - euclidean_distance_matrix(std::vector>&& _points) : points(_points) {} - - value_t operator()(const index_t i, const index_t j) const { - return std::sqrt(std::inner_product( - points[i].begin(), points[i].end(), points[j].begin(), value_t(), std::plus(), - [](value_t u, value_t v) { return (u - v) * (u - v); })); - } - - size_t size() const { return points.size(); } -}; - template <> void compressed_distance_matrix::init_rows() { value_t* pointer = &distances[0]; for (index_t i = 1; i < size(); ++i) { @@ -361,6 +346,21 @@ value_t compressed_distance_matrix::operator()(const index_t i typedef compressed_distance_matrix compressed_lower_distance_matrix; typedef compressed_distance_matrix compressed_upper_distance_matrix; +class euclidean_distance_matrix { +public: + std::vector> points; + + euclidean_distance_matrix(std::vector>&& _points) : points(_points) {} + + value_t operator()(const index_t i, const index_t j) const { + return std::sqrt(std::inner_product( + points[i].begin(), points[i].end(), points[j].begin(), value_t(), std::plus(), + [](value_t u, value_t v) { return (u - v) * (u - v); })); + } + + size_t size() const { return points.size(); } +}; + template diameter_entry_t pop_pivot(Heap& column, coefficient_t modulus) { if (column.empty()) return diameter_entry_t(-1); -- cgit v1.2.3