Trait num_traits::identities::One[][src]

pub trait One: Sized + Mul<Self, Output = Self> {
    fn one() -> Self;

    fn is_one(&self) -> bool
    where
        Self: PartialEq
, { ... } }
[]

Defines a multiplicative identity element for Self.

Required Methods

[]

Returns the multiplicative identity element of Self, 1.

Laws

a * 1 = a       ∀ a ∈ Self
1 * a = a       ∀ a ∈ Self

Purity

This function should return the same result at all times regardless of external mutable state, for example values stored in TLS or in static muts.

Provided Methods

[]

Returns true if self is equal to the multiplicative identity.

For performance reasons, it's best to implement this manually. After a semver bump, this method will be required, and the where Self: PartialEq bound will be removed.

Implementations on Foreign Types

impl<T: One> One for Wrapping<T> where
    Wrapping<T>: Mul<Output = Wrapping<T>>, 
[src]

[]

Implementors