pub enum SolverEvent {
SolveRequested {
algorithm: Algorithm,
matrix_rows: usize,
matrix_nnz: usize,
lane: ComputeLane,
},
IterationCompleted {
iteration: usize,
residual: f64,
elapsed: Duration,
},
SolveConverged {
algorithm: Algorithm,
iterations: usize,
residual: f64,
wall_time: Duration,
},
AlgorithmFallback {
from: Algorithm,
to: Algorithm,
reason: String,
},
BudgetExhausted {
algorithm: Algorithm,
limit: BudgetLimit,
elapsed: Duration,
},
}Expand description
Events emitted during a solver invocation.
Events are tagged with #[serde(tag = "type")] so they serialise as
{ "type": "SolveRequested", ... } for easy ingestion into event stores.
Variants§
SolveRequested
A solve request was received and is about to begin.
Fields
§
lane: ComputeLaneCompute lane.
IterationCompleted
One iteration of the solver completed.
Fields
SolveConverged
The solver converged successfully.
Fields
AlgorithmFallback
The solver fell back from one algorithm to another (e.g. Neumann series spectral radius too high, falling back to CG).
Fields
BudgetExhausted
The compute budget was exhausted before convergence.
Trait Implementations§
Source§impl Clone for SolverEvent
impl Clone for SolverEvent
Source§fn clone(&self) -> SolverEvent
fn clone(&self) -> SolverEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SolverEvent
impl Debug for SolverEvent
Source§impl<'de> Deserialize<'de> for SolverEvent
impl<'de> Deserialize<'de> for SolverEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SolverEvent
impl RefUnwindSafe for SolverEvent
impl Send for SolverEvent
impl Sync for SolverEvent
impl Unpin for SolverEvent
impl UnsafeUnpin for SolverEvent
impl UnwindSafe for SolverEvent
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
Mutably borrows from an owned value. Read more