shigens 0.1.0

A math library for calculate quaternion.
Documentation
pub trait One {
    fn one() -> Self;

    fn is_one(&self) -> bool
    where
        Self: Sized + PartialEq,
    {
        *self == Self::one()
    }
}

macro_rules! impl_zero_int {
    ($t:ty) => {
        impl One for $t {
            fn one() -> Self {
                1
            }
        }
    };
}

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

macro_rules! impl_zero_float {
    ($t:ty) => {
        impl One for $t {
            fn one() -> Self {
                1.
            }
        }
    };
}

impl_zero_float!(f32);
impl_zero_float!(f64);