pub struct SolveStats {
pub route: SolveRoute,
pub deadline_triggered: bool,
pub postsolve_krylov_ir_skipped: bool,
pub lp_ipm_path: bool,
}Expand description
Per-solve routing and warm-start statistics (race-free, per-result).
Replaces process-global AtomicU64 counters so parallel tests observe
independent stats without reset/race issues.
Fields§
§route: SolveRouteRoute taken for this solve.
deadline_triggered: boolWhether the solver stopped because the deadline (timeout_secs / deadline) was reached.
true iff result.status == SolveStatus::Timeout. Deterministic sentinel for
deadline-enforcement tests: assert this field instead of measuring wall time.
postsolve_krylov_ir_skipped: boolWhether the postsolve saddle-point Krylov IR was skipped because the solution
already met the user tolerance (kkt_already_pass). Deterministic sentinel for
the gate: removing the gate (always refine) flips this to false.
lp_ipm_path: boolFor LP solves via the QP dispatch (LpForwardedFromQp): true if the
returned result came from the IPM, false if from simplex. Lets callers
(e.g. benchmarks) label the actual route instead of a static size guess.
Trait Implementations§
Source§impl Clone for SolveStats
impl Clone for SolveStats
Source§fn clone(&self) -> SolveStats
fn clone(&self) -> SolveStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SolveStats
impl Debug for SolveStats
Source§impl Default for SolveStats
impl Default for SolveStats
Source§fn default() -> SolveStats
fn default() -> SolveStats
Auto Trait Implementations§
impl Freeze for SolveStats
impl RefUnwindSafe for SolveStats
impl Send for SolveStats
impl Sync for SolveStats
impl Unpin for SolveStats
impl UnsafeUnpin for SolveStats
impl UnwindSafe for SolveStats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more