diff --git a/internal/ceres/generate_bundle_adjustment_tests.py b/internal/ceres/generate_bundle_adjustment_tests.py index b36cf6605..89cf8c717 100644 --- a/internal/ceres/generate_bundle_adjustment_tests.py +++ b/internal/ceres/generate_bundle_adjustment_tests.py @@ -121,15 +121,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, %(test_class_name)s) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = %(num_threads)s; - options.linear_solver_type = %(linear_solver)s; - options.sparse_linear_algebra_library_type = %(sparse_backend)s; - options.preconditioner_type = %(preconditioner)s; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = %(num_threads)s; + options->linear_solver_type = %(linear_solver)s; + options->sparse_linear_algebra_library_type = %(sparse_backend)s; + options->preconditioner_type = %(preconditioner)s; if (%(ordering)s) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_test.cc index 2d3ea8141..c6cbaa516 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, DenseSchur_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = DENSE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = DENSE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_threads_test.cc index 311bceb2b..bbbcbb69f 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_auto_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, DenseSchur_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = DENSE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = DENSE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_test.cc index 930f5f0c5..48cd4c8bc 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, DenseSchur_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = DENSE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = DENSE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_threads_test.cc index cf8139a02..ec070bf5f 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_user_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, DenseSchur_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = DENSE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = DENSE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc index 8c3b886d2..5f36b2e44 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_Jacobi_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc index 4585201a2..8312db258 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_Jacobi_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc index 9b864e427..82f394a34 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_Jacobi_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc index 6266bea93..78f55240d 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_Jacobi_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc index bc40f5d53..5407f3cad 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SchurJacobi_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = SCHUR_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc index c55fa6282..ed04d8f50 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SchurJacobi_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = SCHUR_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc index cc7f3341f..4299738be 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc @@ -42,15 +42,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SchurJacobi_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = SCHUR_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc index b8cd166fa..46a320a26 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SchurJacobi_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = SCHUR_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc index cdb4fd09a..b87d38653 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterJacobi_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc index 15ed6b194..414a3e9c3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterJacobi_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_JACOBI; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc index dda9d627e..b0da4afb1 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterJacobi_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc index 6ca9f7b39..007891121 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterJacobi_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_JACOBI; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_JACOBI; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc index 6a40ef891..dc35fc81e 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterTridiagonal_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_TRIDIAGONAL; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_TRIDIAGONAL; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc index 6bd66bc4a..b8b861367 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterTridiagonal_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_TRIDIAGONAL; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_TRIDIAGONAL; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc index ae12ce9c8..bdea6368f 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterTridiagonal_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_TRIDIAGONAL; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_TRIDIAGONAL; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc index 727d90878..e8b844a5b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, IterativeSchur_SuiteSparse_ClusterTridiagonal_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = CLUSTER_TRIDIAGONAL; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = CLUSTER_TRIDIAGONAL; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_test.cc index 3d3b64208..00c07579a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_CxSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_threads_test.cc index ae7f543f8..52a86c336 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_CxSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_test.cc index 9f3d752c1..9a4cdb5f4 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_CxSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_threads_test.cc index 366169c24..960630a54 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_cxsparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_CxSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc index 700bb50e3..c4575df5b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_EigenSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc index e36329794..1cda7765d 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_EigenSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc index dd423f389..e9e42afd0 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_EigenSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc index 27dc82169..a3aa3681a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_EigenSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc index 7155bd949..f69998197 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_SuiteSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc index 8991ccada..72530754f 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_SuiteSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc index e4375c19b..dae0ed6ac 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_SuiteSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc index 3c91c7297..82bec8875 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseNormalCholesky_SuiteSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_test.cc index d9b10e4fb..a623cb90c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_CxSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_threads_test.cc index f7dbc45cb..8d13c66a0 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_CxSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_test.cc index 27a673df1..73b0787b6 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_CxSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_threads_test.cc index 9e5db3873..9318a27f3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_cxsparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_CxSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = CX_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = CX_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc index bc8d66be4..eb31fed68 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_EigenSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc index 6910d8719..d9c9b0bdd 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_EigenSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc index d62648187..0e34884d4 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_EigenSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc index 218c35fff..bf7d5f4e4 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_EigenSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc index 67fff2140..7e8853f97 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_SuiteSparse_AutomaticOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc index f0dccb7f8..823dcfee3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_SuiteSparse_AutomaticOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kAutomaticOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc index eb67b497e..a375c94cf 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc @@ -44,15 +44,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_SuiteSparse_UserOrdering) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 1; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 1; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc index c13cc4fe7..9af1d560c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc @@ -45,15 +45,17 @@ namespace internal { TEST_F(BundleAdjustmentTest, SparseSchur_SuiteSparse_UserOrdering_Threads) { // NOLINT - Solver::Options options = *BundleAdjustmentProblem().mutable_solver_options(); - options.num_threads = 4; - options.linear_solver_type = SPARSE_SCHUR; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - options.preconditioner_type = IDENTITY; + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->num_threads = 4; + options->linear_solver_type = SPARSE_SCHUR; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + options->preconditioner_type = IDENTITY; if (kUserOrdering) { - options.linear_solver_ordering.reset(); + options->linear_solver_ordering.reset(); } - RunSolverForConfigAndExpectResidualsMatch(options); + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); } } // namespace internal diff --git a/internal/ceres/system_test.cc b/internal/ceres/system_test.cc index 5fb520ff5..ca0f52960 100644 --- a/internal/ceres/system_test.cc +++ b/internal/ceres/system_test.cc @@ -146,55 +146,69 @@ double PowellsFunction::kResidualTolerance = 1e-8; typedef SystemTest PowellTest; TEST_F(PowellTest, DenseQR) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = DENSE_QR; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = DENSE_QR; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } TEST_F(PowellTest, DenseNormalCholesky) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = DENSE_NORMAL_CHOLESKY; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = DENSE_NORMAL_CHOLESKY; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } TEST_F(PowellTest, DenseSchur) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = DENSE_SCHUR; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = DENSE_SCHUR; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } TEST_F(PowellTest, IterativeSchurWithJacobi) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = ITERATIVE_SCHUR; - options.sparse_linear_algebra_library_type = NO_SPARSE; - options.preconditioner_type = JACOBI; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = ITERATIVE_SCHUR; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = JACOBI; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } #ifndef CERES_NO_SUITESPARSE TEST_F(PowellTest, SparseNormalCholeskyUsingSuiteSparse) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = SUITE_SPARSE; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = SUITE_SPARSE; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } #endif // CERES_NO_SUITESPARSE #ifndef CERES_NO_CXSPARSE TEST_F(PowellTest, SparseNormalCholeskyUsingCXSparse) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = CX_SPARSE; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = CX_SPARSE; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } #endif // CERES_NO_CXSPARSE #ifdef CERES_USE_EIGEN_SPARSE TEST_F(PowellTest, SparseNormalCholeskyUsingEigenSparse) { - Solver::Options options = *PowellsFunction().mutable_solver_options(); - options.linear_solver_type = SPARSE_NORMAL_CHOLESKY; - options.sparse_linear_algebra_library_type = EIGEN_SPARSE; - RunSolverForConfigAndExpectResidualsMatch(options); + PowellsFunction powells_function; + Solver::Options* options = powells_function.mutable_solver_options(); + options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; + options->sparse_linear_algebra_library_type = EIGEN_SPARSE; + RunSolverForConfigAndExpectResidualsMatch(*options, + powells_function.mutable_problem()); } #endif // CERES_USE_EIGEN_SPARSE diff --git a/internal/ceres/test_util.h b/internal/ceres/test_util.h index c4c17d5cd..e43eb35a0 100644 --- a/internal/ceres/test_util.h +++ b/internal/ceres/test_util.h @@ -78,7 +78,7 @@ std::string ToString(const Solver::Options& options); // It is assumed that the SystemTestProblem has an Solver::Options // struct that contains the reference Solver configuration. template -class SystemTest : public::testing::Test { +class SystemTest : public ::testing::Test { protected: virtual void SetUp() { SystemTestProblem system_test_problem; @@ -88,15 +88,10 @@ class SystemTest : public::testing::Test { &expected_final_residuals_); } - void RunSolverForConfigAndExpectResidualsMatch(const Solver::Options& options) { - LOG(INFO) << "Running solver configuration: " - << ToString(options); - SystemTestProblem system_test_problem; + void RunSolverForConfigAndExpectResidualsMatch(const Solver::Options& options, + Problem* problem) { std::vector final_residuals; - SolveAndEvaluateFinalResiduals( - options, - system_test_problem.mutable_problem(), - &final_residuals); + SolveAndEvaluateFinalResiduals(options, problem, &final_residuals); // We compare solutions by comparing their residual vectors. We do // not compare parameter vectors because it is much more brittle @@ -119,10 +114,10 @@ class SystemTest : public::testing::Test { Solve(options, problem, &summary); CHECK_NE(summary.termination_type, ceres::FAILURE); problem->Evaluate(Problem::EvaluateOptions(), - NULL, + nullptr, final_residuals, - NULL, - NULL); + nullptr, + nullptr); } std::vector expected_final_residuals_;