Struct ordered_float::NotNaN [] [src]

pub struct NotNaN<T: Float>(_);

A wrapper around Floats providing an implementation of Ord and Hash.

A NaN value cannot be stored in this type.

Methods

impl<T: Float> NotNaN<T>
[src]

[src]

Create a NotNaN value.

Returns Err if val is NaN

[src]

Create a NotNaN value from a value that is guaranteed to not be NaN

Behaviour is undefined if val is NaN

[src]

Get the value out.

Trait Implementations

impl<T: Float + Serialize> Serialize for NotNaN<T>
[src]

[src]

Serialize this value into the given Serde serializer. Read more

impl<'de, T: Float + Deserialize<'de>> Deserialize<'de> for NotNaN<T>
[src]

[src]

Deserialize this value from the given Serde deserializer. Read more

impl<T: PartialOrd + Float> PartialOrd for NotNaN<T>
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T: PartialEq + Float> PartialEq for NotNaN<T>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<T: Debug + Float> Debug for NotNaN<T>
[src]

[src]

Formats the value using the given formatter. Read more

impl<T: Default + Float> Default for NotNaN<T>
[src]

[src]

Returns the "default value" for a type. Read more

impl<T: Clone + Float> Clone for NotNaN<T>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: Copy + Float> Copy for NotNaN<T>
[src]

impl<T: Float> AsRef<T> for NotNaN<T>
[src]

[src]

Performs the conversion.

impl<T: Float + PartialOrd> Ord for NotNaN<T>
[src]

[src]

This method returns an Ordering between self and other. Read more

1.21.0
[src]

Compares and returns the maximum of two values. Read more

1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl<T: Float> Hash for NotNaN<T>
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<T: Float + Display> Display for NotNaN<T>
[src]

[src]

Formats the value using the given formatter. Read more

impl Into<f32> for NotNaN<f32>
[src]

[src]

Performs the conversion.

impl Into<f64> for NotNaN<f64>
[src]

[src]

Performs the conversion.

impl<T: Float> From<T> for NotNaN<T>
[src]

Creates a NotNaN value from a Float.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the conversion.

impl<T: Float> Deref for NotNaN<T>
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl<T: Float + PartialEq> Eq for NotNaN<T>
[src]

impl<T: Float> Add for NotNaN<T>
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<T: Float> Add<T> for NotNaN<T>
[src]

Adds a float directly.

Panics if the provided value is NaN or the computation results in NaN

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl AddAssign for NotNaN<f64>
[src]

[src]

Performs the += operation.

impl AddAssign for NotNaN<f32>
[src]

[src]

Performs the += operation.

impl AddAssign<f64> for NotNaN<f64>
[src]

Adds a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the += operation.

impl AddAssign<f32> for NotNaN<f32>
[src]

Adds a float directly.

Panics if the provided value is NaN.

[src]

Performs the += operation.

impl<T: Float> Sub for NotNaN<T>
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<T: Float> Sub<T> for NotNaN<T>
[src]

Subtracts a float directly.

Panics if the provided value is NaN or the computation results in NaN

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl SubAssign for NotNaN<f64>
[src]

[src]

Performs the -= operation.

impl SubAssign for NotNaN<f32>
[src]

[src]

Performs the -= operation.

impl SubAssign<f64> for NotNaN<f64>
[src]

Subtracts a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the -= operation.

impl SubAssign<f32> for NotNaN<f32>
[src]

Subtracts a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the -= operation.

impl<T: Float> Mul for NotNaN<T>
[src]

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl<T: Float> Mul<T> for NotNaN<T>
[src]

Multiplies a float directly.

Panics if the provided value is NaN or the computation results in NaN

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl MulAssign for NotNaN<f64>
[src]

[src]

Performs the *= operation.

impl MulAssign for NotNaN<f32>
[src]

[src]

Performs the *= operation.

impl MulAssign<f64> for NotNaN<f64>
[src]

Multiplies a float directly.

Panics if the provided value is NaN.

[src]

Performs the *= operation.

impl MulAssign<f32> for NotNaN<f32>
[src]

Multiplies a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the *= operation.

impl<T: Float> Div for NotNaN<T>
[src]

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl<T: Float> Div<T> for NotNaN<T>
[src]

Divides a float directly.

Panics if the provided value is NaN or the computation results in NaN

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl DivAssign for NotNaN<f64>
[src]

[src]

Performs the /= operation.

impl DivAssign for NotNaN<f32>
[src]

[src]

Performs the /= operation.

impl DivAssign<f64> for NotNaN<f64>
[src]

Divides a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the /= operation.

impl DivAssign<f32> for NotNaN<f32>
[src]

Divides a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the /= operation.

impl<T: Float> Rem for NotNaN<T>
[src]

The resulting type after applying the % operator.

[src]

Performs the % operation.

impl<T: Float> Rem<T> for NotNaN<T>
[src]

Calculates % with a float directly.

Panics if the provided value is NaN or the computation results in NaN

The resulting type after applying the % operator.

[src]

Performs the % operation.

impl RemAssign for NotNaN<f64>
[src]

[src]

Performs the %= operation.

impl RemAssign for NotNaN<f32>
[src]

[src]

Performs the %= operation.

impl RemAssign<f64> for NotNaN<f64>
[src]

Calculates %= with a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the %= operation.

impl RemAssign<f32> for NotNaN<f32>
[src]

Calculates %= with a float directly.

Panics if the provided value is NaN or the computation results in NaN

[src]

Performs the %= operation.

impl<T: Float> Neg for NotNaN<T>
[src]

The resulting type after applying the - operator.

[src]

Performs the unary - operation.