Skip to main content

GetIpoptCurrentViolations

Function GetIpoptCurrentViolations 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn GetIpoptCurrentViolations( ipopt_problem: IpoptProblem, _scaled: Bool, n: Index, x_l_violation: *mut Number, x_u_violation: *mut Number, compl_x_l: *mut Number, compl_x_u: *mut Number, grad_lag_x: *mut Number, m: Index, nlp_constraint_violation: *mut Number, compl_g: *mut Number, ) -> Bool
Expand description

Port of IpStdCInterface.cpp:GetIpoptCurrentViolations (Ipopt 3.14+). Same contract as GetIpoptCurrentIterate; returns FALSE when called outside an active intermediate callback.

scaled is currently ignored — see GetIpoptCurrentIterate. Violations and complementarities are reported in the compressed algorithm-side space scattered out to full-n/m; this is the shape upstream callers consume (zero-fill for free positions / no-bound positions).

§Safety

ipopt_problem must be a valid IpoptProblem. Each output buffer, when non-NULL, must hold at least the declared length.