51 switch (exitCondition) {
53 return "solved to desired tolerance";
55 return "solved to acceptable tolerance";
57 return "callback requested stop";
59 return "problem has too few degrees of freedom";
61 return "problem is locally infeasible";
63 return "solver failed to reach the desired tolerance, and feasibility "
64 "restoration failed to converge";
66 return "solver encountered nonfinite initial cost or constraints and "
69 return "solver encountered diverging primal iterates xₖ and/or sₖ and "
72 return "solution returned after maximum iterations exceeded";
74 return "solution returned after maximum wall clock time exceeded";
#define SLEIPNIR_DLLEXPORT
Definition SymbolExports.hpp:34
Definition Expression.hpp:18
IntrusiveSharedPtr< T > AllocateIntrusiveShared(Alloc alloc, Args &&... args)
Definition IntrusiveSharedPtr.hpp:275
SLEIPNIR_DLLEXPORT constexpr std::string_view ToMessage(const SolverExitCondition &exitCondition)
Definition SolverExitCondition.hpp:47
SolverExitCondition
Definition SolverExitCondition.hpp:16
@ kNonfiniteInitialCostOrConstraints
The solver encountered nonfinite initial cost or constraints and gave up.
@ kFeasibilityRestorationFailed
@ kLocallyInfeasible
The solver determined the problem to be locally infeasible and gave up.
@ kSuccess
Solved the problem to the desired tolerance.
@ kSolvedToAcceptableTolerance
Solved the problem to an acceptable tolerance, but not the desired one.
@ kTooFewDOFs
The solver determined the problem to be overconstrained and gave up.
@ kDivergingIterates
The solver encountered diverging primal iterates xₖ and/or sₖ and gave up.
@ kCallbackRequestedStop
The solver returned its solution so far after the user requested a stop.