pub enum ContractFeasibleStepError {
Dimension {
beta: usize,
direction: usize,
expected: usize,
},
InfeasibleIterate {
row: usize,
scaled_slack: f64,
},
NonFinite {
row: usize,
scaled_slack: f64,
scaled_drift: f64,
},
Carrier(String),
}Expand description
Why the contract-feasible ratio test could not answer.
Every variant is a violated PRECONDITION of the ratio test, never a small
step: “no admissible step exists” is reported as
ContractFeasibleStep::fraction == 0.0, not as an error.
Variants§
Dimension
beta / direction widths disagree with the constraint carrier.
InfeasibleIterate
The CURRENT iterate violates a row by more than
PRIMAL_FEASIBILITY_TOL, so the ratio test has no feasible origin to
step from. This is the genuine “infeasible iterate” condition and stays
loud.
NonFinite
A row cannot be DECIDED by comparison: a non-finite row norm, bound,
a·β or a·δ. Reported rather than skipped: every comparison in the
rule is false for NaN, so a skipped row would silently certify a step
that is not a number as fully feasible (gam#2721). The reported slack
and drift are the scaled quantities as computed, so the offending one is
visible.
Carrier(String)
The carrier could not evaluate Aβ / Aδ or a row descriptor.
Trait Implementations§
Source§impl Clone for ContractFeasibleStepError
impl Clone for ContractFeasibleStepError
Source§fn clone(&self) -> ContractFeasibleStepError
fn clone(&self) -> ContractFeasibleStepError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContractFeasibleStepError
impl Debug for ContractFeasibleStepError
Source§impl Display for ContractFeasibleStepError
impl Display for ContractFeasibleStepError
impl StructuralPartialEq for ContractFeasibleStepError
Auto Trait Implementations§
impl Freeze for ContractFeasibleStepError
impl RefUnwindSafe for ContractFeasibleStepError
impl Send for ContractFeasibleStepError
impl Sync for ContractFeasibleStepError
impl Unpin for ContractFeasibleStepError
impl UnsafeUnpin for ContractFeasibleStepError
impl UnwindSafe for ContractFeasibleStepError
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
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,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
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.