fn super_state_at_level(&self, dimensions: usize, level: usize) -> Self {
        let states = std::iter::repeat(self.clone())
            .take((dimensions + 1)
            .pow(level as u32))
            .collect::<Vec<Self>>();
        Self::merge(&states)
    }
/// Multiply and merge multiple instances of itself into one super state.
///
/// # Arguments
/// * `dimensions` - number of dimensions.
/// * `level` - number level at which you merge.
Multiply and merge multiple instances of itself into one super state.
Multiply and merge multiple instances of itself into one super state .
fn super_state_at_level(&self, dimensions: usize, level: usize) -> Self {
        let states = std::iter::repeat(self.clone())
            .take((dimensions + 1)
            .pow(level as u32))
            .collect::<Vec<Self>>();
        Self::merge(&states)
    }
fn super_state_at_level ( & self , dimensions : usize , level : usize ) -> Self { let states = std :: iter :: repeat ( self . clone ( ) ) . take ( ( dimensions + 1 ) . pow ( level as u32 ) ) . collect :: < Vec < Self > > ( ) ; Self :: merge ( & states ) }
Multiply and merge multiple instances of itself into one super state.
Multiply and merge multiple instances of itself into one super state .
&self
dimensions
usize
level
usize
&self
dimensions
usize
level
usize