pub trait NormedVectorSpace<S: Field>: VectorSpace<S> {
// Required method
fn norm_squared(self) -> S;
// Provided methods
fn norm(self) -> S
where S: Sqrt { ... }
fn normalize(self) -> Self
where S: Sqrt { ... }
fn unit_sigvec(self) -> Self
where S: SignedExt + Sqrt { ... }
}
Expand description
VectorSpace
with vector length/magnitude function
Required Methods§
fn norm_squared(self) -> S
Provided Methods§
fn norm(self) -> Swhere
S: Sqrt,
fn normalize(self) -> Selfwhere
S: Sqrt,
fn unit_sigvec(self) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.