Struct Vector
pub struct Vector<T> { /* private fields */ }
Expand description
Represents a vector.
Implementations§
Trait Implementations§
§impl<T> Add for &Vector<T>
Vectors can be added by adding their references.
impl<T> Add for &Vector<T>
Vectors can be added by adding their references.
§Example
let vec_a = vector![1, 2, 3];
let vec_b = vector![3, 2, 1];
assert_eq!(&vec_a + &vec_b, Vector::new(3, 4));
§impl<T> AddAssign<&Vector<T>> for Vector<T>
impl<T> AddAssign<&Vector<T>> for Vector<T>
§fn add_assign(&mut self, vector: &Vector<T>)
fn add_assign(&mut self, vector: &Vector<T>)
Performs the
+=
operation. Read more§impl<T> Div<T> for &Vector<T>
Dividing a vector by a number is the same a multiplying by its inverse.
impl<T> Div<T> for &Vector<T>
Dividing a vector by a number is the same a multiplying by its inverse.
§Example
let vec_a = Vector::new(3, 1_f32);
assert_eq!(&vec_a / 2.0, Vector::new(3, 0.5));
§impl<T> Index<usize> for Vector<T>
Indexing a vectors returns the corresponding entry.
impl<T> Index<usize> for Vector<T>
Indexing a vectors returns the corresponding entry.
§Example
let vec_a = vector![1, 2, 3];
assert_eq!(vec_a[0], 1);
assert_eq!(vec_a[1], 2);
assert_eq!(vec_a[2], 3);
§impl<T> IndexMut<usize> for Vector<T>
Single entries of a vector can be manipulated by mutating an indexed vector.
impl<T> IndexMut<usize> for Vector<T>
Single entries of a vector can be manipulated by mutating an indexed vector.
§Example
let mut vec_a = Vector::new(3, 1);
vec_a[1] = 2;
vec_a[2] = 3;
assert_eq!(vec_a[0], 1);
assert_eq!(vec_a[1], 2);
assert_eq!(vec_a[2], 3);
assert_eq!(vec_a, vector![1, 2, 3]);
§impl<T> Mul<&Matrix<T>> for &Vector<T>
Vectors can also be multiplied with matrices. The result will be a vector.
impl<T> Mul<&Matrix<T>> for &Vector<T>
Vectors can also be multiplied with matrices. The result will be a vector.
§Example
let mat_a = Matrix::<u32>::one(4);
let mat_b = matrix!{1, 2, 3; 4, 4, 3; 2, 1, 3; 4, 1, 2};
let vec_a = vector![4, 5, 6, 7].to_row_vector();
let vec_b = vector![64, 41, 59].to_row_vector();
assert_eq!(&vec_a * &mat_a, vec_a);
assert_eq!(&vec_a * &mat_b, vec_b);
§impl<T> Mul<&Vector<T>> for &Matrix<T>
Matrices can be multiplied with Vectors by multiplying their references.
The dimensions of the two objects need to match like with matrix multiplication.
impl<T> Mul<&Vector<T>> for &Matrix<T>
Matrices can be multiplied with Vectors by multiplying their references. The dimensions of the two objects need to match like with matrix multiplication.
§Example
let v_a = vector![1, 2, 3];
let mat_a = matrix!{1, 2, 3; 4, 5, 6; 7, 8, 9};
let v_b = vector![30, 36, 42].to_row_vector();
assert_eq!(&v_a.to_row_vector() * &mat_a, v_b);
§impl<T> Mul<T> for &Vector<T>
Vectors can be scaled by scaling a reference to a vector.
impl<T> Mul<T> for &Vector<T>
Vectors can be scaled by scaling a reference to a vector.
§Example
let vec_a = Vector::new(3, 1);
assert_eq!(&vec_a * 2, Vector::new(3, 2));
§impl<T> Mul for &Vector<T>
Vectors can be multpilied by multiplying their references.
impl<T> Mul for &Vector<T>
Vectors can be multpilied by multiplying their references.
§Example
let vec_a = Vector::new(4, 3);
let vec_b = vector![5, 6, 7, 8];
assert_eq!(&vec_a * &vec_b, 78);
assert_eq!(&vec_b * &vec_a, 78);
§impl<T> Sub for &Vector<T>
Vectors can be subtracted by subtracting theri references.
impl<T> Sub for &Vector<T>
Vectors can be subtracted by subtracting theri references.
§Example
let vec_a = vector![1_i32, 2, 3];
let vec_b = vector![3_i32, 2, 1];
assert_eq!(&vec_a - &vec_b, vector![-2, 0, 2]);
§impl<T> SubAssign<&Vector<T>> for Vector<T>
impl<T> SubAssign<&Vector<T>> for Vector<T>
§fn sub_assign(&mut self, vector: &Vector<T>)
fn sub_assign(&mut self, vector: &Vector<T>)
Performs the
-=
operation. Read moreimpl<T> StructuralPartialEq for Vector<T>
Auto Trait Implementations§
impl<T> Freeze for Vector<T>
impl<T> RefUnwindSafe for Vector<T>where
T: RefUnwindSafe,
impl<T> Send for Vector<T>where
T: Send,
impl<T> Sync for Vector<T>where
T: Sync,
impl<T> Unpin for Vector<T>where
T: Unpin,
impl<T> UnwindSafe for Vector<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more