Enum Fault

Source
pub enum Fault {
    DivByZero,
    Reserved,
    Overflow,
    Underflow,
}
Expand description

VAX floating-point number fault

Internally, none of the arithmetic functions will panic or return an error, but the error state is recored as the Fault. Depending on how the VaxFloatingPoint type is converted, it will either return an Error of the appropriate type, or be converted into an appropriate type.

Once a fault has been set, it prevents further arithmetic operations.

Variants§

§

DivByZero

Set as the result of a division operation where the denominator is zero.

If converted into a Rust floating-point type, this will be converted into an Infinity value. For VAX floating-point types, it will be converted to the Reserved value (negative zero).

It will return an Error::DivByZero error for conversions that return a Result.

§

Reserved

VAX floating point numbers encoded with a negative zero trigger a reserved operand fault.

If converted into a Rust floating-point type, this will be converted into a NaN value. For VAX floating-point types, it will be converted to the Reserved value (negative zero).

It will return an Error::Reserved error for conversions that return a Result.

§

Overflow

Set as a result of overflowing the VaxFloatingPoint exponent.

If converted into a Rust floating-point type, this will be converted into a NaN value. For VAX floating-point types, it will be converted to the Reserved value (negative zero).

It will return an Error::Overflow(i32::MAX) error for conversions that return a Result.

§

Underflow

Set as a result of overflowing the VaxFloatingPoint exponent.

If converted into a Rust floating-point type, this will be converted into a NaN value. For VAX floating-point types, it will be converted to the Reserved value (negative zero).

It will return an Error::Underflow(i32::MIN) error for conversions that return a Result.

Trait Implementations§

Source§

impl Clone for Fault

Source§

fn clone(&self) -> Fault

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Fault

Source§

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

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

impl From<Fault> for Error

Source§

fn from(fault: Fault) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Fault

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Fault

Source§

impl Eq for Fault

Source§

impl StructuralPartialEq for Fault

Auto Trait Implementations§

§

impl Freeze for Fault

§

impl RefUnwindSafe for Fault

§

impl Send for Fault

§

impl Sync for Fault

§

impl Unpin for Fault

§

impl UnwindSafe for Fault

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 = Infallible

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.