1use numrst::NdArray;
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let a = NdArray::<i32>::arange(0, 9)?.reshape((3, 3))?;
6 let b = NdArray::<i32>::full((3, 3), 4)?;
7
8 let eq = a.eq(&b)?;
9 let ne = a.ne(&b)?;
10 let lt = a.lt(&b)?;
11 let ge = a.ge(&b)?;
12
13 println!("a:\n{}", a);
14 println!("b:\n{}", b);
15 println!("a == b:\n{}", eq);
16 println!("a != b:\n{}", ne);
17 println!("a < b:\n{}", lt);
18 println!("a >= b:\n{}", ge);
19
20 let x = NdArray::<bool>::trues((2, 2))?;
22 let y = NdArray::<bool>::falses((2, 2))?;
23
24 let and = x.and(&y)?;
25 let or = x.or(&y)?;
26 let xor = x.xor(&y)?;
27
28 println!("\nx:\n{}", x);
29 println!("y:\n{}", y);
30 println!("x AND y:\n{}", and);
31 println!("x OR y:\n{}", or);
32 println!("x XOR y:\n{}", xor);
33
34 let cond = a.lt(&b)?;
36 let chosen = NdArray::<i32>::select(&cond, &a, &b)?;
37
38 println!("\nCondition (a < b):\n{}", cond);
39 println!("Select result (if a<b then a else b):\n{}", chosen);
40
41 Ok(())
42}