From 3e6efe3a51355007f9ab2d1d6f6a61ba417de42b Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 30 Nov 2020 17:32:02 -0500 Subject: [PATCH] use goto flow --- gtsam/slam/FrobeniusFactor.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gtsam/slam/FrobeniusFactor.cpp b/gtsam/slam/FrobeniusFactor.cpp index 8c70a1ebb..8c0baaf38 100644 --- a/gtsam/slam/FrobeniusFactor.cpp +++ b/gtsam/slam/FrobeniusFactor.cpp @@ -26,7 +26,6 @@ namespace gtsam { SharedNoiseModel ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { double sigma = 1.0; - bool exit = false; if (model != nullptr) { const auto &robust = boost::dynamic_pointer_cast(model); @@ -40,7 +39,7 @@ ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { size_t n = sigmas.size(); if (n == 1) { sigma = sigmas(0); // Rot2 - exit = true; + goto exit; } else if (n == 3 || n == 6) { sigma = sigmas(2); // Pose2, Rot3, or Pose3 @@ -49,13 +48,13 @@ ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { throw std::runtime_error("Can only convert isotropic rotation noise"); } } - exit = true; + goto exit; } - if (!defaultToUnit && !exit) { + if (!defaultToUnit) { throw std::runtime_error("Can only convert Pose2/Pose3 noise models"); } } - + exit: auto isoModel = noiseModel::Isotropic::Sigma(d, sigma); const auto &robust = boost::dynamic_pointer_cast(model); if (robust) {