/// An array-backed vector type. Named fields are made accessible via the Deref/DerefMut traits which are implmented for 2-4 dimensions. /// let mut v = Vector::new([1.0,2.0,3.0]); /// v.x += v.z; /// println!("v.x={}",v.x); #[derive(Clone,Copy,Hash,Eq,PartialEq)] pub struct Vector{ pub(crate) array:[T;N], } crate::impl_vector!(); // Needs const generics for generic case crate::impl_vector_extend!(2); crate::impl_vector_extend!(3); //cross product crate::impl_vector_3!();