Skip to main content

Fidelity

Enum Fidelity 

Source
pub enum Fidelity {
    BitIdentical,
    Composed,
    Envelope,
}
Expand description

The certified fidelity a kernel meets against the oracle.

Every implementer is a shortcut over the reference implementation, and its fidelity states how faithful the shortcut is proven to be — and by what argument. Admission is one comparison — a kernel serves a run when its fidelity meets the fidelity the run’s Numerics posture demands — so Exact excluding reordering kernels is a consequence, not a special case. A demand is always BitIdentical or Envelope, the two postures; Composed appears only as a cell’s answer, never as a demand.

Variants§

§

BitIdentical

Certified to answer the reference implementation’s exact bits in every build, under either posture, proven by differential test.

§

Composed

Certified to answer the bits the formula’s composed form answers under the run’s posture: every interior shortcut consults the same chain the composition would, so a bit-identity demand is honored by composing on the reference paths, and under the envelope demand the implementation is exactly as faithful as the composition. The cell inherits the chain’s fidelity rather than certifying an absolute one.

§

Envelope

Certified to answer within the documented error envelope; the kernel may reorder floating-point math.

Implementations§

Source§

impl Fidelity

Source

pub fn meets(self, required: Fidelity) -> bool

Whether a kernel certified at self may serve where required is demanded: bit identity and composition serve everywhere — a composed implementation honors a bit-identity demand because its interior chain declines along with everything else — while an envelope serves only envelope demands.

Trait Implementations§

Source§

impl Clone for Fidelity

Source§

fn clone(&self) -> Fidelity

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Fidelity

Source§

impl Debug for Fidelity

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Fidelity

Source§

impl PartialEq for Fidelity

Source§

fn eq(&self, other: &Fidelity) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Fidelity

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.