diff options
Diffstat (limited to 'extern/ceres/internal/ceres/canonical_views_clustering.cc')
-rw-r--r-- | extern/ceres/internal/ceres/canonical_views_clustering.cc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/extern/ceres/internal/ceres/canonical_views_clustering.cc b/extern/ceres/internal/ceres/canonical_views_clustering.cc index c193735f106..01b8ad38ae0 100644 --- a/extern/ceres/internal/ceres/canonical_views_clustering.cc +++ b/extern/ceres/internal/ceres/canonical_views_clustering.cc @@ -35,6 +35,7 @@ #include <unordered_set> #include "ceres/graph.h" +#include "ceres/internal/export.h" #include "ceres/map_util.h" #include "glog/logging.h" @@ -43,13 +44,11 @@ namespace internal { using std::vector; -typedef std::unordered_map<int, int> IntMap; -typedef std::unordered_set<int> IntSet; +using IntMap = std::unordered_map<int, int>; +using IntSet = std::unordered_set<int>; -class CanonicalViewsClustering { +class CERES_NO_EXPORT CanonicalViewsClustering { public: - CanonicalViewsClustering() {} - // Compute the canonical views clustering of the vertices of the // graph. centers will contain the vertices that are the identified // as the canonical views/cluster centers, and membership is a map @@ -85,11 +84,11 @@ void ComputeCanonicalViewsClustering( const WeightedGraph<int>& graph, vector<int>* centers, IntMap* membership) { - time_t start_time = time(NULL); + time_t start_time = time(nullptr); CanonicalViewsClustering cv; cv.ComputeClustering(options, graph, centers, membership); VLOG(2) << "Canonical views clustering time (secs): " - << time(NULL) - start_time; + << time(nullptr) - start_time; } // Implementation of CanonicalViewsClustering @@ -107,7 +106,7 @@ void CanonicalViewsClustering::ComputeClustering( IntSet valid_views; FindValidViews(&valid_views); - while (valid_views.size() > 0) { + while (!valid_views.empty()) { // Find the next best canonical view. double best_difference = -std::numeric_limits<double>::max(); int best_view = 0; @@ -174,9 +173,9 @@ double CanonicalViewsClustering::ComputeClusteringQualityDifference( difference -= options_.size_penalty_weight; // Orthogonality. - for (int i = 0; i < centers.size(); ++i) { + for (int center : centers) { difference -= options_.similarity_penalty_weight * - graph_->EdgeWeight(centers[i], candidate); + graph_->EdgeWeight(center, candidate); } return difference; |