Trait num::Zero
[−]
[src]
pub trait Zero: Add<Self, Output=Self> { fn zero() -> Self; fn is_zero(&self) -> bool; }
Defines an additive identity element for Self
.
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> Zero for Ratio<T> where T: Clone + Integer
impl<T> Zero for Complex<T> where T: Clone + Num
impl Zero for usize
impl Zero for u8
impl Zero for u16
impl Zero for u32
impl Zero for u64
impl Zero for isize
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 + Num> Zero for Complex<T>
impl Zero for BigUint
impl Zero for BigInt
impl<T: Clone + Integer> Zero for Ratio<T>
impl<N: Zero> Zero for Vec1<N>
impl<N: Zero> Zero for Vec2<N>
impl<N: Zero> Zero for Vec3<N>
impl<N: Zero> Zero for Vec4<N>
impl<N: Zero> Zero for Vec5<N>
impl<N: Zero> Zero for Vec6<N>
impl<N: Zero> Zero for Quat<N>
impl<N: Zero> Zero for Mat1<N>
impl<N: Zero> Zero for Mat2<N>
impl<N: Zero> Zero for Mat3<N>
impl<N: Zero> Zero for Mat4<N>
impl<N: Zero> Zero for Mat5<N>
impl<N: Zero> Zero for Mat6<N>
impl<N> Zero for Vec0<N>
impl<N> Zero for Vec1<N> where N: Zero
impl<N> Zero for Vec2<N> where N: Zero
impl<N> Zero for Vec3<N> where N: Zero
impl<N> Zero for Vec4<N> where N: Zero
impl<N> Zero for Vec5<N> where N: Zero
impl<N> Zero for Vec6<N> where N: Zero
impl<N> Zero for Quat<N> where N: Zero
impl<N> Zero for Mat1<N> where N: Zero
impl<N> Zero for Mat2<N> where N: Zero
impl<N> Zero for Mat3<N> where N: Zero
impl<N> Zero for Mat4<N> where N: Zero
impl<N> Zero for Mat5<N> where N: Zero
impl<N> Zero for Mat6<N> where N: Zero
impl<N> Zero for Vec0<N>