#[unsafe(no_mangle)]pub unsafe extern "C" fn IpoptSolverSolve(
solver: IpoptSolver,
x: *mut Number,
g: *mut Number,
obj_val: *mut Number,
mult_g: *mut Number,
mult_x_L: *mut Number,
mult_x_U: *mut Number,
user_data: *mut c_void,
) -> IndexExpand description
Run the IPM. Same output buffer contract as crate::IpoptSolve:
x is in/out (initial guess in, solution out); g, obj_val,
mult_g, mult_x_L, mult_x_U are out-only and may be NULL.
user_data is threaded into the C callbacks unchanged.
Returns the same Index-cast ApplicationReturnStatus code as
crate::IpoptSolve. On a converged status the session retains
the KKT factor for subsequent IpoptSolverKktSolve,
IpoptSolverParametricStep, and IpoptSolverReducedHessian
calls.
ยงSafety
All non-NULL output pointers must be valid for the appropriate length; the C callbacks stored on the underlying IpoptProblem must remain valid through the solve.