1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
macro_rules! m_num {
    ($($Tuple:ident $Arr:ident { $($T:ident . $t:ident . $idx:tt),* } )*) => ($(
        impl<$($T),*> num::Zero for $Tuple<$($T),*> where $( $T: num::Zero ),* {
            #[inline(always)]
            fn zero() -> Self {
                $Tuple( $( $T::zero() ),* )
            }
            #[inline(always)]
            fn is_zero(&self) -> bool {
                $( self.$idx.is_zero() )&&*
            }
        }
    )*)   
}

use super::*;
use num;
impl_tuple!(m_num);