diff --git a/matrix/Cargo.toml b/matrix/Cargo.toml index 1e2bbff..2f6e9d1 100644 --- a/matrix/Cargo.toml +++ b/matrix/Cargo.toml @@ -8,4 +8,3 @@ edition = "2018" [dependencies] approx = "0.4" -bencher = "0.1.5" diff --git a/matrix/src/lib.rs b/matrix/src/lib.rs index 79f1f47..c5dfbc9 100644 --- a/matrix/src/lib.rs +++ b/matrix/src/lib.rs @@ -169,4 +169,29 @@ mod tests { assert_ne!(m_a, m_b); } + + #[test] + fn multiply() { + let matrix_a = Matrix::from_array([ + [1.0, 2.0, 3.0, 4.0,], + [5.0, 6.0, 7.0, 8.0,], + [9.0, 8.0, 7.0, 6.0,], + [5.0, 4.0, 3.0, 2.0,], + ]); + let matrix_b = Matrix::from_array([ + [-2.0, 1.0, 2.0, 3.0,], + [3.0, 2.0, 1.0, -1.0,], + [4.0, 3.0, 6.0, 5.0,], + [1.0, 2.0, 7.0, 8.0,], + ]); + + let expected = Matrix::from_array([ + [20.0, 22.0, 50.0, 48.0], + [44.0, 54.0, 114.0, 108.0], + [40.0, 58.0, 110.0, 102.0,], + [16.0, 26.0, 46.0, 42.0], + ]); + + assert_eq!(matrix_a * matrix_b, expected); + } }