mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 08:34:37 +08:00
Lint cleanup and a bug fix.
Thanks to William Rucklidge. Change-Id: I963656be661020abacbff792cfc3025623503db8
This commit is contained in:
+11
-11
@@ -371,8 +371,8 @@ residuals and their derivatives. This is done using
|
||||
int N7 = 0, // Number of parameters in block 7.
|
||||
int N8 = 0, // Number of parameters in block 8.
|
||||
int N9 = 0> // Number of parameters in block 9.
|
||||
class NumericDiffCostFunction
|
||||
: public SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9> {
|
||||
class NumericDiffCostFunction : public
|
||||
SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9> {
|
||||
};
|
||||
|
||||
To get a numerically differentiated :class:`CostFunction`, you must
|
||||
@@ -458,15 +458,15 @@ residuals and their derivatives. This is done using
|
||||
|
||||
CostFunction* cost_function
|
||||
= new NumericDiffCostFunction<MyScalarCostFunctor, CENTRAL, DYNAMIC, 2, 2>(
|
||||
new CostFunctorWithDynamicNumResiduals(1.0), ^ ^ ^
|
||||
TAKE_OWNERSHIP, | | |
|
||||
runtime_number_of_residuals); <----+ | | |
|
||||
| | | |
|
||||
| | | |
|
||||
Actual number of residuals ------+ | | |
|
||||
Indicate dynamic number of residuals --------+ | |
|
||||
Dimension of x ------------------------------------+ |
|
||||
Dimension of y ---------------------------------------+
|
||||
new CostFunctorWithDynamicNumResiduals(1.0), ^ ^ ^
|
||||
TAKE_OWNERSHIP, | | |
|
||||
runtime_number_of_residuals); <----+ | | |
|
||||
| | | |
|
||||
| | | |
|
||||
Actual number of residuals ------+ | | |
|
||||
Indicate dynamic number of residuals --------------------+ | |
|
||||
Dimension of x ------------------------------------------------+ |
|
||||
Dimension of y ---------------------------------------------------+
|
||||
|
||||
|
||||
The framework can currently accommodate cost functions of up to 10
|
||||
|
||||
@@ -186,7 +186,9 @@ class AutoDiffCostFunction : public SizedCostFunction<kNumResiduals,
|
||||
CHECK_EQ(kNumResiduals, DYNAMIC)
|
||||
<< "Can't run the dynamic-size constructor if the "
|
||||
<< "number of residuals is not ceres::DYNAMIC.";
|
||||
SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>
|
||||
SizedCostFunction<kNumResiduals,
|
||||
N0, N1, N2, N3, N4,
|
||||
N5, N6, N7, N8, N9>
|
||||
::set_num_residuals(num_residuals);
|
||||
}
|
||||
|
||||
@@ -209,7 +211,9 @@ class AutoDiffCostFunction : public SizedCostFunction<kNumResiduals,
|
||||
N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(
|
||||
*functor_,
|
||||
parameters,
|
||||
SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>
|
||||
SizedCostFunction<kNumResiduals,
|
||||
N0, N1, N2, N3, N4,
|
||||
N5, N6, N7, N8, N9>
|
||||
::num_residuals(),
|
||||
residuals,
|
||||
jacobians);
|
||||
|
||||
@@ -108,8 +108,8 @@ class DynamicNumericDiffCostFunction : public CostFunction {
|
||||
<< "You must call DynamicNumericDiffCostFunction::AddParameterBlock() "
|
||||
<< "before DynamicNumericDiffCostFunction::Evaluate().";
|
||||
|
||||
bool status = (*functor_)(parameters, residuals);
|
||||
if (jacobians == NULL) {
|
||||
const bool status = (*functor_)(parameters, residuals);
|
||||
if (jacobians == NULL || !status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
@@ -100,15 +100,15 @@
|
||||
//
|
||||
// CostFunction* cost_function
|
||||
// = new NumericDiffCostFunction<MyScalarCostFunctor, CENTRAL, DYNAMIC, 2, 2>(
|
||||
// new CostFunctorWithDynamicNumResiduals(1.0), ^ ^ ^
|
||||
// TAKE_OWNERSHIP, | | |
|
||||
// runtime_number_of_residuals); <----+ | | |
|
||||
// | | | |
|
||||
// | | | |
|
||||
// Actual number of residuals ------+ | | |
|
||||
// Indicate dynamic number of residuals --------+ | |
|
||||
// Dimension of x ------------------------------------+ |
|
||||
// Dimension of y ---------------------------------------+
|
||||
// new CostFunctorWithDynamicNumResiduals(1.0), ^ ^ ^
|
||||
// TAKE_OWNERSHIP, | | |
|
||||
// runtime_number_of_residuals); <----+ | | |
|
||||
// | | | |
|
||||
// | | | |
|
||||
// Actual number of residuals ------+ | | |
|
||||
// Indicate dynamic number of residuals --------------------+ | |
|
||||
// Dimension of x ------------------------------------------------+ |
|
||||
// Dimension of y ---------------------------------------------------+
|
||||
//
|
||||
// The framework can currently accommodate cost functions of up to 10
|
||||
// independent variables, and there is no limit on the dimensionality
|
||||
@@ -197,7 +197,9 @@ class NumericDiffCostFunction
|
||||
ownership_(ownership),
|
||||
relative_step_size_(relative_step_size) {
|
||||
if (kNumResiduals == DYNAMIC) {
|
||||
SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>
|
||||
SizedCostFunction<kNumResiduals,
|
||||
N0, N1, N2, N3, N4,
|
||||
N5, N6, N7, N8, N9>
|
||||
::set_num_residuals(num_residuals);
|
||||
}
|
||||
}
|
||||
@@ -277,7 +279,9 @@ class NumericDiffCostFunction
|
||||
functor_.get(), \
|
||||
residuals, \
|
||||
relative_step_size_, \
|
||||
SizedCostFunction<kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::num_residuals(), \
|
||||
SizedCostFunction<kNumResiduals, \
|
||||
N0, N1, N2, N3, N4, \
|
||||
N5, N6, N7, N8, N9>::num_residuals(), \
|
||||
parameters_reference_copy.get(), \
|
||||
jacobians[block])) { \
|
||||
return false; \
|
||||
|
||||
Reference in New Issue
Block a user