Trait qmc::sse::qmc_traits::op_container::OpContainer[][src]

pub trait OpContainer {
    type Op: Op;
    fn get_cutoff(&self) -> usize;
fn set_cutoff(&mut self, cutoff: usize);
fn get_n(&self) -> usize;
fn get_nvars(&self) -> usize;
fn get_pth(&self, p: usize) -> Option<&Self::Op>;
fn get_count(&self, bond: usize) -> usize;
fn itime_fold<F, T>(&self, state: &mut [bool], fold_fn: F, init: T) -> T
    where
        F: Fn(T, &[bool]) -> T
; fn verify(&self, state: &[bool]) -> bool { ... } }
Expand description

Contain and manage ops.

Associated Types

type Op: Op[src]

Expand description

The op object to manage.

Required methods

fn get_cutoff(&self) -> usize[src]

Expand description

Get the cutoff for this container.

fn set_cutoff(&mut self, cutoff: usize)[src]

Expand description

Set the cutoff for this container.

fn get_n(&self) -> usize[src]

Expand description

Get the number of non-identity ops.

fn get_nvars(&self) -> usize[src]

Expand description

Get the number of managed variables.

fn get_pth(&self, p: usize) -> Option<&Self::Op>[src]

Expand description

Get the pth op, None is identity.

fn get_count(&self, bond: usize) -> usize[src]

Expand description

Gets the count of bond ops in the graph.

fn itime_fold<F, T>(&self, state: &mut [bool], fold_fn: F, init: T) -> T where
    F: Fn(T, &[bool]) -> T, 
[src]

Expand description

Iterate through the imaginary time states of the opcontainer.

Provided methods

fn verify(&self, state: &[bool]) -> bool[src]

Expand description

Verify the integrity of the OpContainer.

Implementors

impl<O: Op + Clone, ALLOC: FastOpAllocator> OpContainer for FastOpsTemplate<O, ALLOC>[src]

type Op = O

fn get_cutoff(&self) -> usize[src]

fn set_cutoff(&mut self, cutoff: usize)[src]

fn get_n(&self) -> usize[src]

fn get_nvars(&self) -> usize[src]

fn get_pth(&self, p: usize) -> Option<&Self::Op>[src]

fn get_count(&self, bond: usize) -> usize[src]

fn itime_fold<F, T>(&self, state: &mut [bool], fold_fn: F, init: T) -> T where
    F: Fn(T, &[bool]) -> T, 
[src]