pub trait VectorSpace<S: Field>:
Module<S>
+ Div<S, Output = Self>
+ Copy {
type NonZero;
// Required method
fn map<F>(self, f: F) -> Self
where F: FnMut(S) -> S;
// Provided methods
fn sigvec(self) -> Self
where S: SignedExt { ... }
fn interpolate(a: Self, b: Self, t: Normalized<S>) -> Self { ... }
fn extrapolate(a: Self, b: Self, t: S) -> Self { ... }
}Expand description
Module with scalars taken from a Field
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn sigvec(self) -> Selfwhere
S: SignedExt,
fn sigvec(self) -> Selfwhere
S: SignedExt,
Map signum_or_zero over each element of the given vector
Sourcefn interpolate(a: Self, b: Self, t: Normalized<S>) -> Self
fn interpolate(a: Self, b: Self, t: Normalized<S>) -> Self
Linear interpolation
Sourcefn extrapolate(a: Self, b: Self, t: S) -> Self
fn extrapolate(a: Self, b: Self, t: S) -> Self
Linear extrapolation
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.