use crate::vector::Vector; #[derive(Clone,Copy,Debug,Hash,Eq,PartialEq)] pub struct Matrix{ pub(crate) array:[[T;Y];X], } crate::impl_matrix!(); crate::impl_matrix_extend!(2,2); crate::impl_matrix_extend!(2,3); crate::impl_matrix_extend!(3,2); crate::impl_matrix_extend!(3,3); //Special case 3x3 matrix operations because I cba to write macros for the arbitrary cases #[cfg(feature="named-fields")] crate::impl_matrix_3x3!();