pub enum ExactADirectionClassification {
ResolvedPositive {
curvature: f64,
},
NumericalNull,
ClampBasin {
curvature: f64,
},
Saddle {
curvature: f64,
basin: f64,
},
}Expand description
One route-independent classification of an eigendirection of the raw exact
observed information A = B_raw + delta_C (#2515).
Both dense and arrow evidence lanes must ask this function before deciding whether a direction is identified, a bounded prior-clamp wrinkle, or a true saddle. Keeping the decision as a typed result prevents the historical drift where dense used the majorizer pencil plus clamp basin while arrow used a local relative eigenvalue and rejected every negative direction.
Variants§
ResolvedPositive
Curvature is positive and identifiable in the majorizer metric.
NumericalNull
Curvature lies inside the common numerical-null band and contributes the
route-independent quotient constant log(1) = 0.
ClampBasin
Raw A is negative, but all of the negativity is the exactly known,
bounded concave clamp omitted by the PSD majorizer. Evidence is priced
at the positive coarse-grained basin curvature.
Saddle
Negative curvature remains after the clamp is restored: this state is a saddle, not a mode, and evidence must refuse it.
Trait Implementations§
Source§impl Clone for ExactADirectionClassification
impl Clone for ExactADirectionClassification
Source§fn clone(&self) -> ExactADirectionClassification
fn clone(&self) -> ExactADirectionClassification
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 ExactADirectionClassification
impl StructuralPartialEq for ExactADirectionClassification
Auto Trait Implementations§
impl Freeze for ExactADirectionClassification
impl RefUnwindSafe for ExactADirectionClassification
impl Send for ExactADirectionClassification
impl Sync for ExactADirectionClassification
impl Unpin for ExactADirectionClassification
impl UnsafeUnpin for ExactADirectionClassification
impl UnwindSafe for ExactADirectionClassification
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,
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.