Skip to main content

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".

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, U> Module<S> for Displacement2<S, U>
where S: Ring, U: Debug, Vector2<S>: Module<S>,

Source§

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

Source§

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

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,