Fix Solver::Summary when line search is used.

Also enable line search in bundle_adjuster.

Change-Id: Ic4343a4334b9f5a6fdeab38d4e3e1f6932bbc601
diff --git a/internal/ceres/solver_impl.cc b/internal/ceres/solver_impl.cc
index 8b8395c..1696e3a 100644
--- a/internal/ceres/solver_impl.cc
+++ b/internal/ceres/solver_impl.cc
@@ -624,10 +624,11 @@
       original_options.line_search_direction_type;
   summary->max_lbfgs_rank = original_options.max_lbfgs_rank;
   summary->line_search_type = original_options.line_search_type;
-  summary->num_parameter_blocks = problem_impl->NumParameterBlocks();
-  summary->num_parameters = problem_impl->NumParameters();
-  summary->num_residual_blocks = problem_impl->NumResidualBlocks();
-  summary->num_residuals = problem_impl->NumResiduals();
+  summary->num_parameter_blocks = original_program->NumParameterBlocks();
+  summary->num_parameters = original_program->NumParameters();
+  summary->num_residual_blocks = original_program->NumResidualBlocks();
+  summary->num_residuals = original_program->NumResiduals();
+  summary->num_effective_parameters = original_program->NumEffectiveParameters();
 
   // Empty programs are usually a user error.
   if (summary->num_parameter_blocks == 0) {
@@ -717,6 +718,8 @@
   summary->num_parameter_blocks_reduced = reduced_program->NumParameterBlocks();
   summary->num_parameters_reduced = reduced_program->NumParameters();
   summary->num_residual_blocks_reduced = reduced_program->NumResidualBlocks();
+  summary->num_effective_parameters_reduced =
+      reduced_program->NumEffectiveParameters();
   summary->num_residuals_reduced = reduced_program->NumResiduals();
 
   if (summary->num_parameter_blocks_reduced == 0) {