Fixes for comments from William Rucklidge
Change-Id: I64fcc25532cc66dc4cb7e2ea7ccfb220b0cb7e1f
diff --git a/docs/source/nnls_modeling.rst b/docs/source/nnls_modeling.rst
index b95796b..1b7287f 100644
--- a/docs/source/nnls_modeling.rst
+++ b/docs/source/nnls_modeling.rst
@@ -1777,10 +1777,10 @@
.. function:: bool Problem::IsParameterBlockConstant(const double* values) const
Returns ``true`` if a parameter block is set constant, and false
- otherwise. A parameter block may be set constant in two
- ways. Either by calling ``SetParameterBlockConstant`` or by
- associating a ``LocalParameterization`` with a zero dimensional
- tangent space with it.
+ otherwise. A parameter block may be set constant in two ways:
+ either by calling ``SetParameterBlockConstant`` or by associating a
+ ``LocalParameterization`` with a zero dimensional tangent space
+ with it.
.. function:: void Problem::SetParameterization(double* values, LocalParameterization* local_parameterization)
diff --git a/include/ceres/problem.h b/include/ceres/problem.h
index 977a708..88f9966 100644
--- a/include/ceres/problem.h
+++ b/include/ceres/problem.h
@@ -309,10 +309,10 @@
void SetParameterBlockVariable(double* values);
// Returns true if a parameter block is set constant, and false
- // otherwise. A parameter block may be set constant in two
- // ways. Either by calling SetParameterBlockConstant or by
- // associating a LocalParameterization with a zero dimensional
- // tangent space with it.
+ // otherwise. A parameter block may be set constant in two ways:
+ // either by calling SetParameterBlockConstant or by associating a
+ // LocalParameterization with a zero dimensional tangent space with
+ // it.
bool IsParameterBlockConstant(const double* values) const;
// Set the local parameterization for one of the parameter blocks.
diff --git a/internal/ceres/solver_test.cc b/internal/ceres/solver_test.cc
index 58148b2..c4823be 100644
--- a/internal/ceres/solver_test.cc
+++ b/internal/ceres/solver_test.cc
@@ -518,17 +518,15 @@
Problem problem;
problem.AddResidualBlock(LinearCostFunction::Create(), nullptr, &x, &y);
problem.SetParameterization(&y, new SubsetParameterization(1, {0}));
- // Zero dimensional tangent space means that the block is
- // effectively constant, but because the user did not mark it
- // constant explicitly, the user will not see it as constant when
- // querying IsParameterBlockConstant.
EXPECT_TRUE(problem.IsParameterBlockConstant(&y));
+
Solver::Options options;
options.function_tolerance = 0.0;
options.gradient_tolerance = 0.0;
options.parameter_tolerance = 0.0;
Solver::Summary summary;
Solve(options, &problem, &summary);
+
EXPECT_EQ(summary.termination_type, CONVERGENCE);
EXPECT_NEAR(x, 10.0, 1e-7);
EXPECT_EQ(y, 1.0);