[][src]Function iter_num_tools::arange_grid

pub fn arange_grid<R, S>(
    range: R,
    size: S
) -> <R as IntoArangeGrid<S>>::ArangeGrid where
    R: IntoArangeGrid<S>, 

Creates a grid space over the range made up of fixed step intervals

use iter_num_tools::arange_grid;
use itertools::Itertools;

let it = arange_grid((0.0, 0.0)..(1.0, 2.0), 0.5);
itertools::assert_equal(it, vec![
    (0.0, 0.0), (0.0, 0.5), (0.0, 1.0), (0.0, 1.5),
    (0.5, 0.0), (0.5, 0.5), (0.5, 1.0), (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));
itertools::assert_equal(it, vec![
    (0.0, 0.0), (0.0, 1.0),
    (0.5, 0.0), (0.5, 1.0),
]);

// even 3d spaces
let it = arange_grid((0.0, 0.0, 0.0)..(2.0, 2.0, 2.0), 1.0);
itertools::assert_equal(it, vec![
    (0.0, 0.0, 0.0), (0.0, 0.0, 1.0),
    (0.0, 1.0, 0.0), (0.0, 1.0, 1.0),

    (1.0, 0.0, 0.0), (1.0, 0.0, 1.0),
    (1.0, 1.0, 0.0), (1.0, 1.0, 1.0),
]);