58 constexpr auto parse(fmt::format_parse_context& ctx) {
59 return m_underlying.parse(ctx);
68 template <
typename FmtContext>
70 FmtContext& ctx)
const {
73 switch (exit_status) {
75 return m_underlying.format(
"success", ctx);
77 return m_underlying.format(
"callback requested stop", ctx);
79 return m_underlying.format(
"too few degrees of freedom", ctx);
81 return m_underlying.format(
"locally infeasible", ctx);
83 return m_underlying.format(
"globally infeasible", ctx);
85 return m_underlying.format(
"factorization failed", ctx);
87 return m_underlying.format(
"line search failed", ctx);
89 return m_underlying.format(
"feasibility restoration failed", ctx);
91 return m_underlying.format(
"nonfinite initial guess", ctx);
93 return m_underlying.format(
"diverging iterates", ctx);
95 return m_underlying.format(
"max iterations exceeded", ctx);
97 return m_underlying.format(
"timeout", ctx);
104 fmt::formatter<const char*> m_underlying;
Definition to_underlying.hpp:7
ExitStatus
Solver exit status. Negative values indicate failure.
Definition exit_status.hpp:14
@ TIMEOUT
The solver returned its solution so far after exceeding the maximum elapsed wall clock time.
Definition exit_status.hpp:44
@ CALLBACK_REQUESTED_STOP
The solver returned its solution so far after the user requested a stop.
Definition exit_status.hpp:18
@ GLOBALLY_INFEASIBLE
The problem setup frontend determined the problem to have an empty feasible region.
Definition exit_status.hpp:25
@ DIVERGING_ITERATES
The solver encountered diverging primal iterates xₖ and/or sₖ and gave up.
Definition exit_status.hpp:38
@ FACTORIZATION_FAILED
The linear system factorization failed.
Definition exit_status.hpp:27
@ LINE_SEARCH_FAILED
The backtracking line search failed, and the problem isn't locally infeasible.
Definition exit_status.hpp:30
@ MAX_ITERATIONS_EXCEEDED
The solver returned its solution so far after exceeding the maximum number of iterations.
Definition exit_status.hpp:41
@ NONFINITE_INITIAL_GUESS
The solver encountered nonfinite initial cost, constraints, or derivatives and gave up.
Definition exit_status.hpp:36
@ SUCCESS
Solved the problem to the desired tolerance.
Definition exit_status.hpp:16
@ FEASIBILITY_RESTORATION_FAILED
The solver failed to reach the desired tolerance, and feasibility restoration failed to converge.
Definition exit_status.hpp:33
@ LOCALLY_INFEASIBLE
The solver determined the problem to be locally infeasible and gave up.
Definition exit_status.hpp:22
@ TOO_FEW_DOFS
The solver determined the problem to be overconstrained and gave up.
Definition exit_status.hpp:20
void unreachable()
Definition unreachable.hpp:8