Vector

Trait Vector 

Source
pub trait Vector<const N: usize>:
    Clone
    + Copy
    + Debug
    + PartialEq
    + Into<Value>
    + Add<Output = Self>
    + Sub<Output = Self>
    + Mul<Self::Component, Output = Self>
    + Div<Self::Component, Output = Self>
    + AddAssign
    + SubAssign
    + Mul<Self::Component, Output = Self>
    + Div<Self::Component, Output = Self>
    + ElementWiseMul<Output = Self>
    + ElementWiseDiv<Output = Self>
    + Dot<Product = Self::Component>
    + Cross {
    type Component: DataValue;

    // Required methods
    fn zero() -> Self;
    fn get(&self, index: usize) -> &Self::Component;
    fn get_mut(&mut self, index: usize) -> &mut Self::Component;
    unsafe fn get_unchecked(&self, index: usize) -> &Self::Component;
    unsafe fn get_unchecked_mut(&mut self, index: usize) -> &mut Self::Component;
}

Required Associated Types§

Required Methods§

Source

fn zero() -> Self

Source

fn get(&self, index: usize) -> &Self::Component

Source

fn get_mut(&mut self, index: usize) -> &mut Self::Component

Source

unsafe fn get_unchecked(&self, index: usize) -> &Self::Component

Source

unsafe fn get_unchecked_mut(&mut self, index: usize) -> &mut Self::Component

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.

Implementors§

Source§

impl Vector<1> for NdVector<1usize, f32>

Source§

impl Vector<1> for NdVector<1usize, f64>

Source§

impl Vector<1> for NdVector<1usize, i8>

Source§

impl Vector<1> for NdVector<1usize, i16>

Source§

impl Vector<1> for NdVector<1usize, i32>

Source§

impl Vector<1> for NdVector<1usize, i64>

Source§

impl Vector<1> for NdVector<1usize, u8>

Source§

impl Vector<1> for NdVector<1usize, u16>

Source§

impl Vector<1> for NdVector<1usize, u32>

Source§

impl Vector<1> for NdVector<1usize, u64>

Source§

impl Vector<2> for NdVector<2usize, f32>

Source§

impl Vector<2> for NdVector<2usize, f64>

Source§

impl Vector<2> for NdVector<2usize, i8>

Source§

impl Vector<2> for NdVector<2usize, i16>

Source§

impl Vector<2> for NdVector<2usize, i32>

Source§

impl Vector<2> for NdVector<2usize, i64>

Source§

impl Vector<2> for NdVector<2usize, u8>

Source§

impl Vector<2> for NdVector<2usize, u16>

Source§

impl Vector<2> for NdVector<2usize, u32>

Source§

impl Vector<2> for NdVector<2usize, u64>

Source§

impl Vector<3> for NdVector<3usize, f32>

Source§

impl Vector<3> for NdVector<3usize, f64>

Source§

impl Vector<3> for NdVector<3usize, i8>

Source§

impl Vector<3> for NdVector<3usize, i16>

Source§

impl Vector<3> for NdVector<3usize, i32>

Source§

impl Vector<3> for NdVector<3usize, i64>

Source§

impl Vector<3> for NdVector<3usize, u8>

Source§

impl Vector<3> for NdVector<3usize, u16>

Source§

impl Vector<3> for NdVector<3usize, u32>

Source§

impl Vector<3> for NdVector<3usize, u64>

Source§

impl Vector<4> for NdVector<4usize, f32>

Source§

impl Vector<4> for NdVector<4usize, f64>

Source§

impl Vector<4> for NdVector<4usize, i8>

Source§

impl Vector<4> for NdVector<4usize, i16>

Source§

impl Vector<4> for NdVector<4usize, i32>

Source§

impl Vector<4> for NdVector<4usize, i64>

Source§

impl Vector<4> for NdVector<4usize, u8>

Source§

impl Vector<4> for NdVector<4usize, u16>

Source§

impl Vector<4> for NdVector<4usize, u32>

Source§

impl Vector<4> for NdVector<4usize, u64>