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§
type Output
type SampledOutput
Required Methods§
Sourcefn evaluate(&self, solution: &State) -> Result<(Self::Output, BTreeSet<u64>)>
fn evaluate(&self, solution: &State) -> Result<(Self::Output, BTreeSet<u64>)>
Evaluate to return the output with used variable ids
Sourcefn partial_evaluate(&mut self, state: &State) -> Result<BTreeSet<u64>>
fn partial_evaluate(&mut self, state: &State) -> Result<BTreeSet<u64>>
Partially evaluate the function to return the used variable ids
Sourcefn evaluate_samples(
&self,
samples: &Samples,
) -> Result<(Self::SampledOutput, BTreeSet<u64>)>
fn evaluate_samples( &self, samples: &Samples, ) -> Result<(Self::SampledOutput, BTreeSet<u64>)>
Evaluate for each sample