nyx_space::linalg

Trait Normed

Source
pub trait Normed {
    type Norm: SimdRealField;

    // Required methods
    fn norm(&self) -> Self::Norm;
    fn norm_squared(&self) -> Self::Norm;
    fn scale_mut(&mut self, n: Self::Norm);
    fn unscale_mut(&mut self, n: Self::Norm);
}
Expand description

Trait implemented by entities scan be be normalized and put in an Unit struct.

Required Associated Types§

Source

type Norm: SimdRealField

The type of the norm.

Required Methods§

Source

fn norm(&self) -> Self::Norm

Computes the norm.

Source

fn norm_squared(&self) -> Self::Norm

Computes the squared norm.

Source

fn scale_mut(&mut self, n: Self::Norm)

Multiply self by n.

Source

fn unscale_mut(&mut self, n: Self::Norm)

Divides self by n.

Implementations on Foreign Types§

Source§

impl<T> Normed for Complex<T>
where T: SimdRealField,

Source§

type Norm = <T as SimdComplexField>::SimdRealField

Source§

fn norm(&self) -> <T as SimdComplexField>::SimdRealField

Source§

fn norm_squared(&self) -> <T as SimdComplexField>::SimdRealField

Source§

fn scale_mut(&mut self, n: <Complex<T> as Normed>::Norm)

Source§

fn unscale_mut(&mut self, n: <Complex<T> as Normed>::Norm)

Implementors§

Source§

impl<T> Normed for DualQuaternion<T>
where T: SimdRealField,

Source§

type Norm = <T as SimdComplexField>::SimdRealField

Source§

impl<T> Normed for Quaternion<T>
where T: SimdRealField,

Source§

type Norm = <T as SimdComplexField>::SimdRealField

Source§

impl<T, R, C> Normed for Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>
where T: SimdComplexField, R: Dim, C: Dim, DefaultAllocator: Allocator<R, C>,

Source§

type Norm = <T as SimdComplexField>::SimdRealField