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}