[][src]Function gear_combos::get_gears_combinations

pub fn get_gears_combinations(gears: &mut Vec<Gear>) -> Vec<Vec<i32>>

Returns a 2D vector containing every unique combination of states of the gears. Begins by resetting each gear to it's initial state and progressively cycling each gear from left to right.

Example

use gear_combos::*;
let mut gears = vec![Gear::new(2),Gear::new(2)];
let combos = get_gears_combinations(&mut gears);

assert_eq!(vec![vec![0,0],vec![1,0],vec![0,1],vec![1,1]],combos);