1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use num_traits::{One, Zero}; use super::*; impl<T: One + Zero> Complex<T> { pub fn i() -> Self { Self::new(T::zero(), T::one()) } } impl<T: One + Zero> Quaternion<T> { pub fn i() -> Self { Self::new2(T::zero(), T::one(), T::zero(), T::zero()) } pub fn j() -> Self { Self::new2(T::zero(), T::zero(), T::one(), T::zero()) } pub fn k() -> Self { Self::new2(T::zero(), T::zero(), T::zero(), T::one()) } }