#[non_exhaustive]pub enum SolverError {
}Expand description
Allocation-free, copyable error categories shared across every Loeres crate.
Marked #[non_exhaustive]: downstream matches must include a wildcard arm,
so future solvers can add categories without a breaking change.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DimensionMismatch
Two shapes that had to agree did not. Payloads are the mismatched extents.
InvalidDimension
A single dimension was itself invalid (e.g. zero where positive required).
InvalidInput
Input violated a declared domain or problem contract.
NonFiniteInput
A floating-like input was NaN or infinite.
UnsupportedProblemStructure
The problem is well-formed but unsupported by the selected solver/profile.
SingularMatrix
The system matrix was singular under the selected solver.
IllConditioned
Conditioning exceeded the solver’s declared stability threshold.
NumericalDomain
An operation would leave the solver’s valid numerical domain — division by zero, square root of a negative, or logarithm of a non-positive value.
Overflow
A checked scalar or storage operation overflowed.
WorkspaceTooSmall
The caller-provided workspace cannot hold the required scratch state.
Cancelled
A cluster cancellation token was observed.
An optional backend was unavailable.
InternalInvariantViolation
A library invariant was violated — a bug, surfaced as an error rather than a panic so device callers can fail closed.
Implementations§
Source§impl SolverError
impl SolverError
Sourcepub const fn is_input_error(self) -> bool
pub const fn is_input_error(self) -> bool
True for malformed caller input — bad dimensions, or non-finite / otherwise invalid values supplied to a public entry point.
Sourcepub const fn is_numerical_error(self) -> bool
pub const fn is_numerical_error(self) -> bool
True for numerical failures encountered while solving.
Sourcepub const fn is_resource_error(self) -> bool
pub const fn is_resource_error(self) -> bool
True for resource / availability failures (workspace, cancellation, backend).
Trait Implementations§
Source§impl Clone for SolverError
impl Clone for SolverError
Source§fn clone(&self) -> SolverError
fn clone(&self) -> SolverError
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 SolverError
Source§impl Debug for SolverError
impl Debug for SolverError
impl Eq for SolverError
Source§impl PartialEq for SolverError
impl PartialEq for SolverError
Source§fn eq(&self, other: &SolverError) -> bool
fn eq(&self, other: &SolverError) -> bool
self and other values to be equal, and is used by ==.