use matrijs::{matrix, Matrix};
fn main() {
let mut m = matrix![0.0, 1.0; -1.0, 0.0];
m += 1.0;
m *= -10.0;
let m_expected = Matrix::new(2, 2, &[-10.0, -20.0, 0.0, -10.0]);
assert_eq!(m, m_expected);
let a = matrix![0.0, 1.0; 2.0, 3.0];
let b = matrix![4.0, 5.0, 6.0; 7.0, 8.0, 9.0];
let i = Matrix::identity(2);
assert_eq!(i.dot(&a), a);
assert_eq!(a.dot(&b), matrix![7.0, 8.0, 9.0; 29.0, 34.0, 39.0]);
let mut ones = Matrix::one(2, 2);
ones.append_row(matrix![0.0, 0.0].array());
assert_eq!(
ones,
matrix![
1.0, 1.0;
1.0, 1.0;
0.0, 0.0
]
);
assert_eq!(ones.shape(), (3, 2)) }