From 9705a736dd3d6fbead0d8a6ff77102c69bbcdc08 Mon Sep 17 00:00:00 2001 From: Keir Mierle Date: Mon, 20 Aug 2012 11:24:05 -0700 Subject: [PATCH] Add ParameterBlock::ToString() to aid debugging. Change-Id: Id3f5cb27b855c536dd65a986f345bd8eb2799dfa --- internal/ceres/parameter_block.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/internal/ceres/parameter_block.h b/internal/ceres/parameter_block.h index cedb30c2d..f20805ca8 100644 --- a/internal/ceres/parameter_block.h +++ b/internal/ceres/parameter_block.h @@ -32,13 +32,15 @@ #define CERES_INTERNAL_PARAMETER_BLOCK_H_ #include -#include +#include #include "ceres/array_utils.h" #include "ceres/integral_types.h" #include "ceres/internal/eigen.h" #include "ceres/internal/port.h" #include "ceres/internal/scoped_ptr.h" #include "ceres/local_parameterization.h" +#include "ceres/stringprintf.h" +#include "glog/logging.h" namespace ceres { namespace internal { @@ -172,6 +174,19 @@ class ParameterBlock { return local_parameterization_->Plus(x, delta, x_plus_delta); } + string ToString() const { + return StringPrintf("{ user_state=%p, state=%p, size=%d, " + "constant=%d, index=%d, state_offset=%d, " + "delta_offset=%d }", + user_state_, + state_, + size_, + is_constant_, + index_, + state_offset_, + delta_offset_); + } + private: void Init(double* user_state, int size,