Trait One

trait One: Sized + Mul<Self, Output = Self>

Defines a multiplicative identity element for Self.

Laws

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

Required Methods

fn one() -> Self

Returns the multiplicative identity element of Self, 1.

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

fn set_one(self: &mut Self)

Sets self to the multiplicative identity element of Self, 1.

fn is_one(self: &Self) -> bool
where
    Self: PartialEq

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.

Implementors