[−][src]Trait qmc::sse::qmc_traits::ClusterUpdater
Add cluster updates to LoopUpdater.
Provided methods
fn flip_each_cluster_rng<R: Rng>(
&mut self,
prob: f64,
rng: &mut R,
state: &mut [bool]
)
&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 get_frontier_alloc(&mut self) -> Vec<(usize, OpSide)>
Get an allocation for the frontier.
fn get_interior_frontier_alloc(&mut self) -> Vec<(usize, (usize, OpSide))>
Get an allocation for the interior frontier.
fn get_boundaries_alloc(
&mut self,
size: usize
) -> Vec<(Option<usize>, Option<usize>)>
&mut self,
size: usize
) -> Vec<(Option<usize>, Option<usize>)>
Get an allocation for the bounaries.
fn get_flip_alloc(&mut self) -> Vec<bool>
Get an allocation for the spin flips.
fn return_frontier_alloc(&mut self, _frontier: Vec<(usize, OpSide)>)
Return an alloc.
fn return_interior_frontier_alloc(
&mut self,
_interior_frontier: Vec<(usize, (usize, OpSide))>
)
&mut self,
_interior_frontier: Vec<(usize, (usize, OpSide))>
)
Return an alloc.
fn return_boundaries_alloc(
&mut self,
_boundaries: Vec<(Option<usize>, Option<usize>)>
)
&mut self,
_boundaries: Vec<(Option<usize>, Option<usize>)>
)
Return an alloc.
fn return_flip_alloc(&mut self, _flips: Vec<bool>)
Return an alloc.
fn post_cluster_update_hook(&mut self)
Called after an update.
Implementors
impl ClusterUpdater for SimpleOpLooper
[src]
impl<O: Op + Clone> ClusterUpdater for FastOpsTemplate<O>
[src]
fn get_frontier_alloc(&mut self) -> Vec<(usize, OpSide)>
[src]
fn get_interior_frontier_alloc(&mut self) -> Vec<(usize, (usize, OpSide))>
[src]
fn get_boundaries_alloc(
&mut self,
size: usize
) -> Vec<(Option<usize>, Option<usize>)>
[src]
&mut self,
size: usize
) -> Vec<(Option<usize>, Option<usize>)>
fn get_flip_alloc(&mut self) -> Vec<bool>
[src]
fn return_frontier_alloc(&mut self, frontier: Vec<(usize, OpSide)>)
[src]
fn return_interior_frontier_alloc(
&mut self,
interior_frontier: Vec<(usize, (usize, OpSide))>
)
[src]
&mut self,
interior_frontier: Vec<(usize, (usize, OpSide))>
)
fn return_boundaries_alloc(
&mut self,
boundaries: Vec<(Option<usize>, Option<usize>)>
)
[src]
&mut self,
boundaries: Vec<(Option<usize>, Option<usize>)>
)