Trait Evaluate

Source
pub trait Evaluate {
    type Output;
    type SampledOutput;

    // Required methods
    fn evaluate(
        &self,
        solution: &State,
    ) -> Result<(Self::Output, BTreeSet<u64>)>;
    fn partial_evaluate(&mut self, state: &State) -> Result<BTreeSet<u64>>;
    fn evaluate_samples(
        &self,
        samples: &Samples,
    ) -> Result<(Self::SampledOutput, BTreeSet<u64>)>;
}
Expand description

Evaluate with a State

Required Associated Types§

Required Methods§

Source

fn evaluate(&self, solution: &State) -> Result<(Self::Output, BTreeSet<u64>)>

Evaluate to return the output with used variable ids

Source

fn partial_evaluate(&mut self, state: &State) -> Result<BTreeSet<u64>>

Partially evaluate the function to return the used variable ids

Source

fn evaluate_samples( &self, samples: &Samples, ) -> Result<(Self::SampledOutput, BTreeSet<u64>)>

Evaluate for each sample

Implementors§