pub enum Termination {
Cancelled,
Converged,
ExceededMaxIterations,
Stagnated,
NoProgress,
Timeout,
}Expand description
Canonical reasons why a solver terminated.
This type is produced by the engine policy layer and recorded in the final engine output.
It is deliberately coarse-grained: it describes why execution stopped, not how the engine reached that decision.
Variants§
Cancelled
Execution was cancelled externally (e.g. user request or cancellation token).
This is considered a non-analytic termination and does not imply failure of the solver logic.
Converged
The solver successfully met its convergence criteria.
This is the only variant considered a successful termination.
ExceededMaxIterations
The solver exceeded the maximum allowed number of iterations.
Typically enforced by MaxIterationPolicy.
Stagnated
The solver failed to make sufficient progress over a bounded window of iterations.
Typically triggered by stagnation or no-progress policies.
NoProgress
Timeout
The solver exceeded a wall-clock time limit.
Typically enforced by TimeoutPolicy.
Trait Implementations§
Source§impl Clone for Termination
impl Clone for Termination
Source§fn clone(&self) -> Termination
fn clone(&self) -> Termination
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Termination
Source§impl Debug for Termination
impl Debug for Termination
impl Eq for Termination
Source§impl PartialEq for Termination
impl PartialEq for Termination
Source§fn eq(&self, other: &Termination) -> bool
fn eq(&self, other: &Termination) -> bool
self and other values to be equal, and is used by ==.