[][src]Trait qmc::sse::qmc_traits::cluster::ClusterUpdater

pub trait ClusterUpdater: LoopUpdater + Factory<Vec<bool>> + Factory<Vec<usize>> + Factory<Vec<Option<usize>>> + Factory<Vec<OpSide>> + Factory<Vec<(usize, OpSide)>> {
    fn flip_each_cluster_rng<R: Rng>(
        &mut self,
        prob: f64,
        rng: &mut R,
        state: &mut [bool]
    ) { ... }
fn find_constant_op(&self) -> Option<usize> { ... }
fn post_cluster_update_hook(&mut self) { ... } }

Add cluster updates to LoopUpdater.

Provided methods

fn flip_each_cluster_rng<R: Rng>(
    &mut self,
    prob: f64,
    rng: &mut R,
    state: &mut [bool]
)

Flip each cluster in the graph using an rng instance, add to state changes in acc.

fn find_constant_op(&self) -> Option<usize>

Find a site with a constant op.

fn post_cluster_update_hook(&mut self)

Called after an update.

Loading content...

Implementors

impl ClusterUpdater for SimpleOpLooper[src]

impl<O: Op + Clone> ClusterUpdater for FastOpsTemplate<O>[src]

Loading content...