From f44ba996e02ea75ec0d144cce8c4f41ca495663d Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 12 Oct 2019 14:13:31 -0400 Subject: [PATCH 1/2] Add override to resolve warnings on clang --- gtsam/linear/NoiseModel.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gtsam/linear/NoiseModel.h b/gtsam/linear/NoiseModel.h index d6b0a73310..f73fde51cf 100644 --- a/gtsam/linear/NoiseModel.h +++ b/gtsam/linear/NoiseModel.h @@ -752,8 +752,8 @@ namespace gtsam { Fair(double c = 1.3998, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double c, const ReweightScheme reweight = Block) ; private: @@ -777,8 +777,8 @@ namespace gtsam { Huber(double k = 1.345, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; private: @@ -806,8 +806,8 @@ namespace gtsam { Cauchy(double k = 0.1, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; private: @@ -831,8 +831,8 @@ namespace gtsam { Tukey(double c = 4.6851, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; private: @@ -856,8 +856,8 @@ namespace gtsam { Welsch(double c = 2.9846, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; private: @@ -892,8 +892,8 @@ namespace gtsam { ~GemanMcClure() {} double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol=1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; protected: @@ -922,8 +922,8 @@ namespace gtsam { ~DCS() {} double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block) ; protected: @@ -954,8 +954,8 @@ namespace gtsam { L2WithDeadZone(double k = 1.0, const ReweightScheme reweight = Block); double weight(double error) const override; double residual(double error) const override; - void print(const std::string &s) const; - bool equals(const Base& expected, double tol=1e-8) const; + void print(const std::string &s) const override; + bool equals(const Base& expected, double tol = 1e-8) const override; static shared_ptr Create(double k, const ReweightScheme reweight = Block); private: From 4a1491876d5a96ea791c0e17204ace05f6eb206a Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 12 Oct 2019 14:14:10 -0400 Subject: [PATCH 2/2] Replace deprecated `ptr_fun` with lambda expression --- gtsam/linear/GaussianBayesNet.cpp | 12 ++++++------ gtsam/linear/GaussianBayesTree.cpp | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtsam/linear/GaussianBayesNet.cpp b/gtsam/linear/GaussianBayesNet.cpp index bc96452b92..e9938ceb65 100644 --- a/gtsam/linear/GaussianBayesNet.cpp +++ b/gtsam/linear/GaussianBayesNet.cpp @@ -187,16 +187,16 @@ namespace gtsam { } /* ************************************************************************* */ - double GaussianBayesNet::logDeterminant() const - { + double GaussianBayesNet::logDeterminant() const { double logDet = 0.0; - for(const sharedConditional& cg: *this) { - if(cg->get_model()) { + for (const sharedConditional& cg : *this) { + if (cg->get_model()) { Vector diag = cg->R().diagonal(); cg->get_model()->whitenInPlace(diag); - logDet += diag.unaryExpr(ptr_fun(log)).sum(); + logDet += diag.unaryExpr([](double x) { return log(x); }).sum(); } else { - logDet += cg->R().diagonal().unaryExpr(ptr_fun(log)).sum(); + logDet += + cg->R().diagonal().unaryExpr([](double x) { return log(x); }).sum(); } } return logDet; diff --git a/gtsam/linear/GaussianBayesTree.cpp b/gtsam/linear/GaussianBayesTree.cpp index 8d0fafb618..13c19bce65 100644 --- a/gtsam/linear/GaussianBayesTree.cpp +++ b/gtsam/linear/GaussianBayesTree.cpp @@ -40,11 +40,11 @@ namespace gtsam { parentSum += clique->conditional() ->R() .diagonal() - .unaryExpr(std::ptr_fun(log)) + .unaryExpr([](double x) { return log(x); }) .sum(); return 0; } - } + } // namespace internal /* ************************************************************************* */ bool GaussianBayesTree::equals(const This& other, double tol) const