From 549e0b1e64d4c4d9d7cc6d87323e892e0e6f0cd1 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Tue, 3 Jan 2023 15:14:41 -0500 Subject: [PATCH] Fix argument to const & --- gtsam/linear/NoiseModel.cpp | 7 ++++--- gtsam/linear/NoiseModel.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gtsam/linear/NoiseModel.cpp b/gtsam/linear/NoiseModel.cpp index 8bcef6fcc..7108a7660 100644 --- a/gtsam/linear/NoiseModel.cpp +++ b/gtsam/linear/NoiseModel.cpp @@ -47,8 +47,9 @@ void updateAb(MATRIX& Ab, int j, const Vector& a, const Vector& rd) { /* ************************************************************************* */ // check *above the diagonal* for non-zero entries -boost::optional checkIfDiagonal(const Matrix M) { +boost::optional checkIfDiagonal(const Matrix& M) { size_t m = M.rows(), n = M.cols(); + assert(m > 0); // check all non-diagonal entries bool full = false; size_t i, j; @@ -92,7 +93,7 @@ Gaussian::shared_ptr Gaussian::SqrtInformation(const Matrix& R, bool smart) { return Diagonal::Sigmas(diagonal->array().inverse(), true); } // NOTE(frank): only reaches here if !(smart && diagonal) - return shared_ptr(new Gaussian(R.rows(), R)); + return boost::make_shared(R.rows(), R); } /* ************************************************************************* */ @@ -108,7 +109,7 @@ Gaussian::shared_ptr Gaussian::Information(const Matrix& information, bool smart else { Eigen::LLT llt(information); Matrix R = llt.matrixU(); - return shared_ptr(new Gaussian(n, R)); + return boost::make_shared(n, R); } } diff --git a/gtsam/linear/NoiseModel.h b/gtsam/linear/NoiseModel.h index 5a29e5d7d..7bcf808e5 100644 --- a/gtsam/linear/NoiseModel.h +++ b/gtsam/linear/NoiseModel.h @@ -732,7 +732,7 @@ namespace gtsam { }; // Helper function - GTSAM_EXPORT boost::optional checkIfDiagonal(const Matrix M); + GTSAM_EXPORT boost::optional checkIfDiagonal(const Matrix& M); } // namespace noiseModel