Trait VectorSpace

Source
pub trait VectorSpace<S: Field>:
    Module<S>
    + Div<S, Output = Self>
    + Copy {
    // Required method
    fn map<F>(self, f: F) -> Self
       where F: FnMut(S) -> S;

    // Provided method
    fn sigvec(self) -> Self
       where S: SignedExt { ... }
}
Expand description

Module with scalars taken from a Field

Required Methods§

Source

fn map<F>(self, f: F) -> Self
where F: FnMut(S) -> S,

Provided Methods§

Source

fn sigvec(self) -> Self
where S: SignedExt,

Map signum_or_zero over each element of the given vector

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.

Implementations on Foreign Types§

Source§

impl VectorSpace<f32> for f32

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Source§

impl VectorSpace<f64> for f64

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Source§

impl<U> VectorSpace<FixedI8<U>> for FixedI8<U>
where U: Unsigned + IsLessOrEqual<U6, Output = True> + IsLessOrEqual<U5, Output = True> + LtU8,

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Source§

impl<U> VectorSpace<FixedI16<U>> for FixedI16<U>
where U: Unsigned + IsLessOrEqual<U14, Output = True> + IsLessOrEqual<U13, Output = True> + LtU16,

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Source§

impl<U> VectorSpace<FixedI32<U>> for FixedI32<U>
where U: Unsigned + IsLessOrEqual<U30, Output = True> + IsLessOrEqual<U29, Output = True> + LtU32,

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Source§

impl<U> VectorSpace<FixedI64<U>> for FixedI64<U>
where U: Unsigned + IsLessOrEqual<U62, Output = True> + IsLessOrEqual<U61, Output = True> + LtU64,

Source§

fn map<F>(self, f: F) -> Self
where F: FnMut(Self) -> Self,

Implementors§

Source§

impl<S, U> VectorSpace<S> for Displacement2<S, U>
where Vector2<S>: VectorSpace<S>, S: Field,

Source§

impl<S, U> VectorSpace<S> for Displacement3<S, U>
where Vector3<S>: VectorSpace<S>, S: Field,

Source§

impl<S, U> VectorSpace<S> for Displacement4<S, U>
where Vector4<S>: VectorSpace<S>, S: Field,

Source§

impl<S: Field> VectorSpace<S> for Vector2<S>

Source§

impl<S: Field> VectorSpace<S> for Vector3<S>

Source§

impl<S: Field> VectorSpace<S> for Vector4<S>