1use elara_log::prelude::*;
2use elara_math::{array, NdArray};
3
4fn main() {
5    Logger::new().init().unwrap();
7
8    #[rustfmt::skip]
9    let t1 = NdArray::new(&[
10        1, 2, 3,
11        4, 5, 6], [2, 3]);
12    let t2 = NdArray::ones([2, 3]);
14    let t3 = &t1 + &t2;
15    let t4 = &t1 * 3;
16
17    let t5 = NdArray::arange(0..4).reshape([2, 2]);
18
19    let t6: NdArray<i32, 1> = array![1, 2, 3, 4];
20    let t7 = array![[3, 6], [9, 12]];
21
22    let t8 = &t5 + &t1;
23
24    println!("{:?}", t1);
25    println!("{:?}", t2);
26    println!("{}", t1[&[1, 0]]);
27    println!("{:?}", t3);
28    println!("Dot product test: {:?}", t4.dot(&t1));
29    println!("{:?}", t4);
30    println!("Sum test: {:?}", t6.sum());
31    println!("{:?}", t7);
32    println!("{:?}", t8);
33}