pub fn simulate_states_parallel<M>(&self) -> Vec<(ID, S)>
    where
        M: Simulate<S>,
    {
        self.platonic_levels
            .par_iter()
            .map(|id| {
                let neighbor_states = self
                    .graph
                    .neighbors(*id)
                    .map(|i| self.levels[&i].state())
                    .collect::<Vec<&S>>();
                (*id, M::simulate(self.levels[id].state(), &neighbor_states))
            }).collect()
    }
/// Performs simulation on LOD like `simulation_step_parallel()` but instead of applying
/// results to LOD, it returns simulated platonic level states along with their level ID.
Performs simulation on LOD like `simulation_step_parallel()` but instead of applying
results to LOD, it returns simulated platonic level states along with their level ID.
Performs simulation on LOD like ` simulation_step_parallel () ` but instead of applying results to LOD it returns simulated platonic level states along with their level ID .
pub fn simulate_states_parallel<M>(&self) -> Vec<(ID, S)>
    where
        M: Simulate<S>,
    {
        self.platonic_levels
            .par_iter()
            .map(|id| {
                let neighbor_states = self
                    .graph
                    .neighbors(*id)
                    .map(|i| self.levels[&i].state())
                    .collect::<Vec<&S>>();
                (*id, M::simulate(self.levels[id].state(), &neighbor_states))
            }).collect()
    }
pub fn simulate_states_parallel < M > ( & self ) -> Vec < ( ID , S ) > where M : Simulate < S > , { self . platonic_levels . par_iter ( ) . map ( | id | { let neighbor_states = self . graph . neighbors ( * id ) . map ( | i | self . levels [ & i ] . state ( ) ) . collect :: < Vec < & S > > ( ) ; ( * id , M :: simulate ( self . levels [ id ] . state ( ) , & neighbor_states ) ) } ) . collect ( ) }
Performs simulation on LOD like `simulation_step_parallel()` but instead of applying
results to LOD, it returns simulated platonic level states along with their level ID.
Performs simulation on LOD like ` simulation_step_parallel () ` but instead of applying results to LOD it returns simulated platonic level states along with their level ID .
&self
&self