pub struct Vector<const D: usize> { /* private fields */ }Expand description
Fixed-size vector of length D, stored inline.
Implementations§
Source§impl<const D: usize> Vector<D>
impl<const D: usize> Vector<D>
Sourcepub const fn new(data: [f64; D]) -> Self
pub const fn new(data: [f64; D]) -> Self
Create a vector from a backing array.
§Examples
use la_stack::prelude::*;
let v = Vector::<3>::new([1.0, 2.0, 3.0]);
assert_eq!(v.into_array(), [1.0, 2.0, 3.0]);Sourcepub const fn zero() -> Self
pub const fn zero() -> Self
All-zeros vector.
§Examples
use la_stack::prelude::*;
let z = Vector::<2>::zero();
assert_eq!(z.into_array(), [0.0, 0.0]);Sourcepub const fn as_array(&self) -> &[f64; D]
pub const fn as_array(&self) -> &[f64; D]
Borrow the backing array.
§Examples
use la_stack::prelude::*;
let v = Vector::<2>::new([1.0, -2.0]);
assert_eq!(v.as_array(), &[1.0, -2.0]);Sourcepub const fn into_array(self) -> [f64; D]
pub const fn into_array(self) -> [f64; D]
Consume and return the backing array.
§Examples
use la_stack::prelude::*;
let v = Vector::<2>::new([1.0, 2.0]);
let a = v.into_array();
assert_eq!(a, [1.0, 2.0]);Trait Implementations§
impl<const D: usize> Copy for Vector<D>
impl<const D: usize> StructuralPartialEq for Vector<D>
Auto Trait Implementations§
impl<const D: usize> Freeze for Vector<D>
impl<const D: usize> RefUnwindSafe for Vector<D>
impl<const D: usize> Send for Vector<D>
impl<const D: usize> Sync for Vector<D>
impl<const D: usize> Unpin for Vector<D>
impl<const D: usize> UnwindSafe for Vector<D>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)