traiter 4.0.0

Traits collection.
Documentation
pub trait Zero {
    /// Constructs zero.
    /// ```
    /// use traiter::numbers::Zero;
    /// /// floating point numbers
    /// assert_eq!(<f32 as Zero>::zero(), 0.0_f32);
    /// /// signed integers
    /// assert_eq!(<i8 as Zero>::zero(), 0i8);
    /// /// unsigned integers
    /// assert_eq!(<u8 as Zero>::zero(), 0u8);
    /// ```
    fn zero() -> Self;
}

macro_rules! number_zero_impl {
    ($($number:ty)*) => ($(
        impl Zero for $number {
            #[inline(always)]
            fn zero() -> $number {0 as $number}
        }
    )*)
}

number_zero_impl!(
    f32 f64 i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize
);