pub enum AccuracyClass {
Unbounded,
Stable,
BoundedLoose,
BoundedTight,
CorrectlyRounded,
}Expand description
Discrete accuracy level — higher is better. Summarizes the guarantee’s ULP / rounding / monotonicity character into one ordered descriptor so it can sit on the cost vector as a discrete axis. Higher means tighter-rounded / more deterministic.
The ladder is intentionally coarse (a handful of rungs), matching the constitution’s “discrete accuracy levels.”
Variants§
Unbounded
No static bound and not bit-stable — the weakest claim (e.g. scheduler-dependent subgroup reductions).
Stable
Bit-stable on same hardware but no static ULP bound stated.
BoundedLoose
A loose ULP bound is claimed (> 2 ULP) — vendor transcendental territory.
BoundedTight
A tight ULP bound is claimed (1–2 ULP) — IEEE-754 elementwise.
CorrectlyRounded
Correctly-rounded: ULP = 0 (the reference grade).
Implementations§
Trait Implementations§
Source§impl Clone for AccuracyClass
impl Clone for AccuracyClass
impl Copy for AccuracyClass
Source§impl Debug for AccuracyClass
impl Debug for AccuracyClass
impl Eq for AccuracyClass
Source§impl Ord for AccuracyClass
impl Ord for AccuracyClass
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for AccuracyClass
impl PartialEq for AccuracyClass
Source§impl PartialOrd for AccuracyClass
impl PartialOrd for AccuracyClass
impl StructuralPartialEq for AccuracyClass
Auto Trait Implementations§
impl Freeze for AccuracyClass
impl RefUnwindSafe for AccuracyClass
impl Send for AccuracyClass
impl Sync for AccuracyClass
impl Unpin for AccuracyClass
impl UnsafeUnpin for AccuracyClass
impl UnwindSafe for AccuracyClass
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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 more