indexing/indexing.rs
1use numrst::{rng, IndexOp, NdArray, Range};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let arr = NdArray::<u32>::arange(0, 27)?.reshape((3, 3, 3))?;
5
6 let single = arr.index(1)?; // single element along first axis
7 let slice = arr.index(rng!(1:3))?; // range
8 let mixed = arr.index((rng!(0:2), .., 1..2))?; // mixed slicing
9
10 println!("arr:\n{}", arr);
11 println!("index(1):\n{}", single);
12 println!("index(rng!(1:3)):\n{}", slice);
13 println!("index((rng!(0:2), .., 1..2)):\n{}", mixed);
14
15 Ok(())
16}