Trait num::traits::ZeroExperimental
[-]
[+]
[src]
pub trait Zero: Add<Self, Self> { fn zero() -> Self; fn is_zero(&self) -> bool; }
Defines an additive identity element for Self
.
Deriving
This trait can be automatically be derived using #[deriving(Zero)]
attribute. If you choose to use this, make sure that the laws outlined in
the documentation for Zero::zero
still hold.
Required Methods
fn zero() -> Self
Returns the additive identity element of Self
, 0
.
Laws
a + 0 = a ∀ a ∈ Self
0 + 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 mut
s.
fn is_zero(&self) -> bool
Returns true
if self
is equal to the additive identity.
Implementors
impl Zero for BigUint
impl Zero for BigInt
impl<T: Clone + Num> Zero for Complex<T>
impl Zero for uint
impl Zero for u8
impl Zero for u16
impl Zero for u32
impl Zero for u64
impl Zero for int
impl Zero for i8
impl Zero for i16
impl Zero for i32
impl Zero for i64
impl Zero for f32
impl Zero for f64
impl<T: Clone + Integer + PartialOrd> Zero for Ratio<T>