The Vector type overloads all basic arithmetic operations: addition, subtraction,
multiplication, division - along with the possibility of getting negative and index
in/of given vector.
use lars::vector;
use lars::vector::Vector;
fn vector_creation() {
let v1 = Vector::new(12, 6.0);
let elements = [1.0, 3.0, 3.0, 7.0];
let v2 = vector::from(&elements);
let v3 = vector::random(12);
}
use lars::vector;
use lars::vector::Vector;
fn vector_operation() {
let mut foo = vector::new(5, 2.0);
let mut bar = vector::new(5, 1.5);
let product = foo.clone() * bar.clone();
let sum = foo.clone() + bar.clone();
let delta = foo.clone() - bar.clone();
let frac = foo.clone() / bar.clone();
let doubled = foo.clone() * 2;
let offset = foo.clone() + 42;
let subbed = foo.clone() - 100;
let halfed = foo.clone() / 2;
}
use lars::vector;
use lars::vector::Vector;
use lars::matrix;
use lars::matrix::Matrix;
fn vector_matrix_dot() {
let foo = Vector::new(3, 6.0);
let bar = Matrix::new(3, 5, 3.0);
let foobar = foo * bar;
}