Add Problem::EvaluateResidualBlockAssumingParametersUnchanged

Simplify the semantics for Problem::EvaluateResidualBlock to
not ignore the presence of EvaluationCallback and add another method
EvaluateResidualBlockAssumingParametersUnchanged to handle the case
where the user has an EvaluationCallback but knows that the parameter
blocks do not change between calls.

Updated the documentation for the methods and EvaluationCallback to
reflect these semantics.

Also added tests for Evaluation related methods calling i
EvaluationCallback when its present.

https://github.com/ceres-solver/ceres-solver/issues/483

Change-Id: If0a0c95c2f1f92e9183a90df240104a69a71c46d
This commit is contained in:
Sameer Agarwal
2020-08-03 04:57:08 -07:00
parent ab4ed32cda
commit db2af1be87
6 changed files with 272 additions and 65 deletions
+1
View File
@@ -124,6 +124,7 @@ class ProblemImpl {
bool EvaluateResidualBlock(ResidualBlock* residual_block,
bool apply_loss_function,
bool new_point,
double* cost,
double* residuals,
double** jacobians) const;