Module

Trait Module 

Source
pub trait Module<S: Ring>:
    AdditiveGroup
    + Mul<S, Output = Self>
    + Copy {
    type LinearEndo: LinearMap<S, Self, Self> + Ring;
}
Expand description

Additive group combined with scalar multiplication

Required Associated Types§

Source

type LinearEndo: LinearMap<S, Self, Self> + Ring

Linear endomorphism represented by a square matrix type

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 Module<f32> for f32

Source§

impl Module<f64> for f64

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl<S> Module<S> for Vector2<S>
where S: Ring + MulAdd,

Source§

impl<S> Module<S> for Vector3<S>
where S: Ring + MulAdd,

Source§

impl<S> Module<S> for Vector4<S>
where S: Ring + MulAdd,

Source§

impl<S, U> Module<S> for Displacement2<S, U>
where S: Ring, Vector2<S>: Module<S>,

Source§

impl<S, U> Module<S> for Displacement3<S, U>
where S: Ring, Vector3<S>: Module<S>,

Source§

impl<S, U> Module<S> for Displacement4<S, U>
where S: Ring, Vector4<S>: Module<S>,