From 611b46b54bae958d0a402edf44f0980160a5dd4b Mon Sep 17 00:00:00 2001 From: Sameer Agarwal Date: Wed, 19 Jan 2022 07:00:32 -0800 Subject: [PATCH] Remove the use of CHECK_NOTNULL. Change-Id: I6aa7dd5b44bd42807118b4b0b565d6fa8b227371 --- internal/ceres/gradient_problem.cc | 25 ++++++++++++++++++------- internal/ceres/manifold_adapter.h | 5 ++++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/internal/ceres/gradient_problem.cc b/internal/ceres/gradient_problem.cc index dc8ac7225..bb11adf0a 100644 --- a/internal/ceres/gradient_problem.cc +++ b/internal/ceres/gradient_problem.cc @@ -37,24 +37,35 @@ namespace ceres { GradientProblem::GradientProblem(FirstOrderFunction* function) - : function_(CHECK_NOTNULL(function)), + : function_(function), manifold_(new EuclideanManifold(function_->NumParameters())), - scratch_(new double[function_->NumParameters()]) {} + scratch_(new double[function_->NumParameters()]) { + CHECK(function != nullptr); +} GradientProblem::GradientProblem(FirstOrderFunction* function, LocalParameterization* parameterization) - : function_(CHECK_NOTNULL(function)), - parameterization_(CHECK_NOTNULL(parameterization)), - manifold_(new internal::ManifoldAdapter(parameterization_.get())), + : function_(function), + parameterization_(parameterization), scratch_(new double[function_->NumParameters()]) { + CHECK(function != nullptr); + if (parameterization != nullptr) { + manifold_.reset(new internal::ManifoldAdapter(parameterization_.get())); + } else { + manifold_.reset(new EuclideanManifold(function_->NumParameters())); + } CHECK_EQ(function_->NumParameters(), manifold_->AmbientSize()); } GradientProblem::GradientProblem(FirstOrderFunction* function, Manifold* manifold) - : function_(CHECK_NOTNULL(function)), - manifold_(CHECK_NOTNULL(manifold)), + : function_(function), + manifold_(manifold), scratch_(new double[function_->NumParameters()]) { + CHECK(function != nullptr); + if (manifold == nullptr) { + manifold_.reset(new EuclideanManifold(function_->NumParameters())); + } CHECK_EQ(function_->NumParameters(), manifold_->AmbientSize()); } diff --git a/internal/ceres/manifold_adapter.h b/internal/ceres/manifold_adapter.h index 49d7a0af9..d19aed81f 100644 --- a/internal/ceres/manifold_adapter.h +++ b/internal/ceres/manifold_adapter.h @@ -11,7 +11,10 @@ namespace internal { class ManifoldAdapter : public Manifold { public: ManifoldAdapter(const LocalParameterization* local_parameterization) - : local_parameterization_(CHECK_NOTNULL(local_parameterization)) {} + : local_parameterization_(local_parameterization) { + CHECK(local_parameterization != nullptr); + } + virtual ~ManifoldAdapter() {} bool Plus(const double* x,