pub enum IlsError {
Singular,
NoCandidates(usize),
TooManyCandidates {
evaluated: usize,
limit: usize,
},
InvalidDimensions {
n: usize,
rows: usize,
},
NonFinite,
InvalidInput {
field: &'static str,
reason: &'static str,
},
SearchLimitExceeded,
}Expand description
Why a bounded ILS search could not produce a result. Mapped by the NIF onto
the reference Elixir error tuples (:singular_geometry,
{:no_integer_candidates, n}, {:too_many_integer_candidates, n, limit}).
Variants§
Singular
The covariance matrix is singular (degenerate geometry).
NoCandidates(usize)
The lattice yielded no candidate (an empty search box).
TooManyCandidates
The lattice exceeded candidate_limit.
InvalidDimensions
float_cycles was empty, or covariance was not exactly n x n for
n = float_cycles.len() (rows is the offending row count, or the length
of the first row that was not n wide).
NonFinite
A float_cycles or covariance entry was NaN or infinite.
InvalidInput
A public ILS option was malformed.
SearchLimitExceeded
The MLAMBDA search did not converge within LAMBDA_LOOP_MAX iterations
(distinct from a singular/degenerate covariance).
Trait Implementations§
impl Eq for IlsError
Source§impl Error for IlsError
impl Error for IlsError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl StructuralPartialEq for IlsError
Auto Trait Implementations§
impl Freeze for IlsError
impl RefUnwindSafe for IlsError
impl Send for IlsError
impl Sync for IlsError
impl Unpin for IlsError
impl UnsafeUnpin for IlsError
impl UnwindSafe for IlsError
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.