diff --git a/tests/testPCGSolver.cpp b/tests/testPCGSolver.cpp index bc9f9e608..039864886 100644 --- a/tests/testPCGSolver.cpp +++ b/tests/testPCGSolver.cpp @@ -125,8 +125,8 @@ TEST( GaussianFactorGraphSystem, multiply_getb) TEST(PCGSolver, dummy) { LevenbergMarquardtParams params; params.linearSolverType = LevenbergMarquardtParams::Iterative; - auto pcg = std::make_shared(); - pcg->preconditioner_ = std::make_shared(); + auto pcg = std::make_shared( + std::make_shared()); params.iterativeParams = pcg; NonlinearFactorGraph fg = example::createReallyNonlinearFactorGraph(); @@ -145,9 +145,8 @@ TEST(PCGSolver, dummy) { TEST(PCGSolver, blockjacobi) { LevenbergMarquardtParams params; params.linearSolverType = LevenbergMarquardtParams::Iterative; - auto pcg = std::make_shared(); - pcg->preconditioner_ = - std::make_shared(); + auto pcg = std::make_shared( + std::make_shared()); params.iterativeParams = pcg; NonlinearFactorGraph fg = example::createReallyNonlinearFactorGraph(); @@ -166,8 +165,8 @@ TEST(PCGSolver, blockjacobi) { TEST(PCGSolver, subgraph) { LevenbergMarquardtParams params; params.linearSolverType = LevenbergMarquardtParams::Iterative; - auto pcg = std::make_shared(); - pcg->preconditioner_ = std::make_shared(); + auto pcg = std::make_shared( + std::make_shared()); params.iterativeParams = pcg; NonlinearFactorGraph fg = example::createReallyNonlinearFactorGraph(); diff --git a/tests/testPreconditioner.cpp b/tests/testPreconditioner.cpp index ecdf36322..9eff3e7f0 100644 --- a/tests/testPreconditioner.cpp +++ b/tests/testPreconditioner.cpp @@ -60,13 +60,15 @@ TEST( PCGsolver, verySimpleLinearSystem) { //pcg->setVerbosity("ERROR"); // With Dummy preconditioner - pcg->preconditioner_ = std::make_shared(); + pcg->setPreconditionerParams( + std::make_shared()); VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG); EXPECT(assert_equal(exactSolution, deltaPCGDummy, 1e-7)); //deltaPCGDummy.print("PCG Dummy"); // With Block-Jacobi preconditioner - pcg->preconditioner_ = std::make_shared(); + pcg->setPreconditionerParams( + std::make_shared()); // It takes more than 1000 iterations for this test pcg->setMaxIterations(1500); VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG); @@ -111,13 +113,15 @@ TEST(PCGSolver, simpleLinearSystem) { //pcg->setVerbosity("ERROR"); // With Dummy preconditioner - pcg->preconditioner_ = std::make_shared(); + pcg->setPreconditionerParams( + std::make_shared()); VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG); EXPECT(assert_equal(expectedSolution, deltaPCGDummy, 1e-5)); //deltaPCGDummy.print("PCG Dummy"); // With Block-Jacobi preconditioner - pcg->preconditioner_ = std::make_shared(); + pcg->setPreconditionerParams( + std::make_shared()); VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG); EXPECT(assert_equal(expectedSolution, deltaPCGJacobi, 1e-5)); //deltaPCGJacobi.print("PCG Jacobi");