59 static const std::map<std::string,
60 std::function<std::unique_ptr<BlockSolverBase>()>>
62 {
"var", &AllocateSolver<-1, -1,
true>},
63 {
"fix3_2", &AllocateSolver<3, 2, true>},
64 {
"fix6_3", &AllocateSolver<6, 3, true>},
65 {
"fix7_3", &AllocateSolver<7, 3, true>},
66 {
"fix3_2_scalar", &AllocateSolver<3, 2, false>},
67 {
"fix6_3_scalar", &AllocateSolver<6, 3, false>},
68 {
"fix7_3_scalar", &AllocateSolver<7, 3, false>},
71 string solverName = fullSolverName.substr(3);
72 auto solverf = solver_factories.find(solverName);
73 if (solverf == solver_factories.end())
return nullptr;
75 string methodName = fullSolverName.substr(0, 2);
77 if (methodName ==
"gn") {
79 }
else if (methodName ==
"lm") {
81 }
else if (methodName ==
"dl") {