correct flag checking

release/4.3a0
Varun Agrawal 2020-12-05 17:21:19 -05:00
parent de5adb495f
commit 9a841a2c34
2 changed files with 3 additions and 1 deletions

View File

@ -810,7 +810,7 @@ std::pair<Values, double> ShonanAveraging<d>::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(

View File

@ -330,6 +330,8 @@ TEST(ShonanAveraging2, noisyToyGraphWithHuber) {
ShonanAveraging2::Parameters parameters(lmParams);
auto measurements = parseMeasurements<Rot2>(g2oFile);
parameters.setUseHuber(true);
parameters.setCertifyOptimality(false);
string parameters_print =
" ShonanAveragingParameters: \n alpha: 0\n beta: 1\n gamma: 0\n "
"useHuber: 1\n";