Struct rustml::sliding::SlidingWindowBuilder
[−]
[src]
pub struct SlidingWindowBuilder { // some fields omitted }
A builder to create a sliding window over an arbitrary number of dimensions.
Methods
impl SlidingWindowBuilder
fn add(&self, area_width: usize, window_width: usize, delta: usize) -> SlidingWindowBuilder
Adds an additional dimension to the sliding window and returns
the new SlidingWindowBuilder
.
use rustml::sliding::*; assert_eq!( builder().add(10, 3, 2).to_1d().unwrap(), vec![0, 2, 4, 6] );
fn to_vec(&self) -> Vec<Vec<usize>>
Returns a vector of the positions of a sliding window with arbitrary dimensions.
use rustml::sliding::*; assert_eq!( builder().add(10, 3, 2).add(10, 1, 4).to_vec(), vec![ vec![0, 0], vec![2, 0], vec![4, 0], vec![6, 0], vec![0, 4], vec![2, 4], vec![4, 4], vec![6, 4], vec![0, 8], vec![2, 8], vec![4, 8], vec![6, 8] ] );
fn to_1d(&self) -> Option<Vec<usize>>
Returns a vector of the positions of a one dimensional sliding window.
use rustml::sliding::*; assert_eq!( builder().add(10, 3, 2).to_1d().unwrap(), vec![0, 2, 4, 6] );
fn to_2d(&self) -> Option<Vec<(usize, usize)>>
Returns a vector of tuples of the positions of a two dimensional sliding windoe.
use rustml::sliding::*; assert_eq!( builder().add(10, 3, 2).add(10, 1, 4).to_2d().unwrap(), vec![ (0, 0), (2, 0), (4, 0), (6, 0), (0, 4), (2, 4), (4, 4), (6, 4), (0, 8), (2, 8), (4, 8), (6, 8) ] );