Function iter_num_tools::arange_grid
source · pub fn arange_grid<R, S, const N: usize>(
range: R,
step: S
) -> ArangeGrid<R::Item, N>where
R: ToArangeGrid<S, N>,
Expand description
Creates a grid space over the range made up of fixed step intervals
use iter_num_tools::arange_grid;
let it = arange_grid([0.0, 0.0]..[1.0, 2.0], 0.5);
assert!(it.eq([
[0.0, 0.0], [0.5, 0.0],
[0.0, 0.5], [0.5, 0.5],
[0.0, 1.0], [0.5, 1.0],
[0.0, 1.5], [0.5, 1.5],
]));
// different step count in each direction
let it = arange_grid([0.0, 0.0]..[1.0, 2.0], [0.5, 1.0]);
assert!(it.eq([
[0.0, 0.0], [0.5, 0.0],
[0.0, 1.0], [0.5, 1.0],
]));
// even nd spaces
let it = arange_grid([0.0, 0.0, 0.0]..[2.0, 2.0, 2.0], 1.0);
assert!(it.eq([
[0.0, 0.0, 0.0], [1.0, 0.0, 0.0],
[0.0, 1.0, 0.0], [1.0, 1.0, 0.0],
[0.0, 0.0, 1.0], [1.0, 0.0, 1.0],
[0.0, 1.0, 1.0], [1.0, 1.0, 1.0],
]));