State

Trait State 

Source
pub trait State {
    type Params;
    type Change: Clone;

    // Required methods
    fn energy(&self, params: &mut Self::Params) -> f64;
    fn propose_change(&self, rng: &mut impl Rng) -> Self::Change;
    fn apply_change(&mut self, change: Self::Change);
    fn revert_change(&mut self, change: Self::Change);
}

Required Associated Types§

Required Methods§

Source

fn energy(&self, params: &mut Self::Params) -> f64

Source

fn propose_change(&self, rng: &mut impl Rng) -> Self::Change

Source

fn apply_change(&mut self, change: Self::Change)

Source

fn revert_change(&mut self, change: Self::Change)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§