You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
davhojt 168a3c495f docs(lalgebra_vector) switch addition to var + var, instead of var plus dereferenced ptr 2 years ago
..
README.md docs(lalgebra_vector) switch addition to var + var, instead of var plus dereferenced ptr 2 years ago

README.md

lalgebra_vector

Instructions

A vector in linear algebra is defined as "anything that can be added, and that can be multiplied by a scalar".

Define the associated function dot, that calculates the dot product between two vectors. If the vectors are of different lengths, return None.

Note: Vector must implement Debug, Clone, Eq and PartialEq.

Expected Functions and Structure

pub struct Vector<T: Scalar>(pub Vec<T>);

use std::ops::Add;

impl Add for Vector<T> {
}

impl Vector<T> {
	pub fn new() -> Self {
	}

	pub fn dot(&self, other: &Self) -> Option<T> {
	}
}

Usage

Here is a program to test your function.

use lalgebra_vector::*;

fn main() {
	let vector_1: Vector<i64> = Vector(vec![1, 3, -5]);
	let vector_2: Vector<i64> = Vector(vec![4, -2, -1]);
	println!("{:?}", vector_1.dot(&vector_2));
	println!("{:?}", vector_1 + vector_2);
}

And its output:

$ cargo run
Some(3)
Some(Vector([5, 1, -6]))
$