1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* Appellation: vs <module> Contrib: FL03 <jo3mccain@icloud.com> */ use crate::linalg::fields::Field; pub trait VectorSpace<T> { type Field: Field<Elem = T>; fn field(&self) -> &Self::Field; fn rank(&self) -> usize { self.field().rank() } }