pub enum PirlsStatus {
Converged,
StalledAtValidMinimum,
MaxIterationsReached,
LmStepSearchExhausted,
Unstable,
}Expand description
The status of the P-IRLS convergence.
Variants§
Converged
Converged successfully within tolerance.
StalledAtValidMinimum
Reached maximum iterations but the gradient and Hessian indicate a valid minimum.
MaxIterationsReached
Reached maximum iterations without converging.
LmStepSearchExhausted
Levenberg-Marquardt step search exhausted its retry budget (damping λ
reached its ceiling, attempts counter expired, or λ went non-finite)
before the projected gradient entered the near-stationary band. Distinct
from MaxIterationsReached, which means the outer iteration counter
itself ran out — that exhaustion is a “looped 100×, made progress each
time but never converged” signal, while this one is a “no acceptable
step direction even after damping” signal pointing at curvature trouble
or saturated likelihoods.
Unstable
Fitting process became unstable, likely due to perfect separation.
Implementations§
Source§impl PirlsStatus
impl PirlsStatus
Sourcepub const fn is_failed_max_iterations(self) -> bool
pub const fn is_failed_max_iterations(self) -> bool
Whether the inner loop concluded without producing a usable mode. Both the iteration-cap and LM-exhausted exits should be treated the same by callers that just want to know “did we get a valid solution?”.
Sourcepub const fn label(self) -> &'static str
pub const fn label(self) -> &'static str
Short human-readable label for reports and diagnostics. Stable text
(not the Debug rendering) so report output does not silently change if
the variant identifiers are ever renamed.
Sourcepub const fn is_converged(self) -> bool
pub const fn is_converged(self) -> bool
Whether this status represents a clean convergence to the mode. Only
Converged qualifies; every other state carries a caveat a reader
should see flagged.
Trait Implementations§
Source§impl Clone for PirlsStatus
impl Clone for PirlsStatus
Source§fn clone(&self) -> PirlsStatus
fn clone(&self) -> PirlsStatus
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 PirlsStatus
Source§impl Debug for PirlsStatus
impl Debug for PirlsStatus
Source§impl<'de> Deserialize<'de> for PirlsStatus
impl<'de> Deserialize<'de> for PirlsStatus
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>,
impl Eq for PirlsStatus
Source§impl PartialEq for PirlsStatus
impl PartialEq for PirlsStatus
Source§fn eq(&self, other: &PirlsStatus) -> bool
fn eq(&self, other: &PirlsStatus) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for PirlsStatus
impl Serialize for PirlsStatus
impl StructuralPartialEq for PirlsStatus
Auto Trait Implementations§
impl Freeze for PirlsStatus
impl RefUnwindSafe for PirlsStatus
impl Send for PirlsStatus
impl Sync for PirlsStatus
impl Unpin for PirlsStatus
impl UnsafeUnpin for PirlsStatus
impl UnwindSafe for PirlsStatus
Blanket Implementations§
impl<T> Allocation for T
impl<T> Boilerplate for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.