From 9a841a2c3431b843b9d62564190e9167c9deb214 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sat, 5 Dec 2020 17:21:19 -0500 Subject: [PATCH] correct flag checking --- gtsam/sfm/ShonanAveraging.cpp | 2 +- gtsam/sfm/tests/testShonanAveraging.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gtsam/sfm/ShonanAveraging.cpp b/gtsam/sfm/ShonanAveraging.cpp index e37bfee55..b40726312 100644 --- a/gtsam/sfm/ShonanAveraging.cpp +++ b/gtsam/sfm/ShonanAveraging.cpp @@ -810,7 +810,7 @@ std::pair ShonanAveraging::run(const Values &initialEstimate, for (size_t p = pMin; p <= pMax; p++) { // Optimize until convergence at this level Qstar = tryOptimizingAt(p, initialSOp); - if (parameters_.getUseHuber() || parameters_.getCertifyOptimality()) { + if (parameters_.getUseHuber() || !parameters_.getCertifyOptimality()) { // in this case, there is no optimality verification if (pMin != pMax) { throw std::runtime_error( diff --git a/gtsam/sfm/tests/testShonanAveraging.cpp b/gtsam/sfm/tests/testShonanAveraging.cpp index 002109454..c2ad71dad 100644 --- a/gtsam/sfm/tests/testShonanAveraging.cpp +++ b/gtsam/sfm/tests/testShonanAveraging.cpp @@ -330,6 +330,8 @@ TEST(ShonanAveraging2, noisyToyGraphWithHuber) { ShonanAveraging2::Parameters parameters(lmParams); auto measurements = parseMeasurements(g2oFile); parameters.setUseHuber(true); + parameters.setCertifyOptimality(false); + string parameters_print = " ShonanAveragingParameters: \n alpha: 0\n beta: 1\n gamma: 0\n " "useHuber: 1\n";