Trait Settings

Source
pub trait Settings:
    Sealed
    + Clone
    + Copy
    + Default
    + Sync
    + Send
    + 'static {
    type Chain<M: Math>: Chain<M>;

    // Required methods
    fn new_chain<M: Math, R: Rng + ?Sized>(
        &self,
        chain: u64,
        math: M,
        rng: &mut R,
    ) -> Self::Chain<M>;
    fn hint_num_tune(&self) -> usize;
    fn hint_num_draws(&self) -> usize;
    fn num_chains(&self) -> usize;
    fn seed(&self) -> u64;
    fn stats_options<M: Math>(
        &self,
        chain: &Self::Chain<M>,
    ) -> <Self::Chain<M> as SamplerStats<M>>::StatOptions;
}
Expand description

All sampler configurations implement this trait

Required Associated Types§

Source

type Chain<M: Math>: Chain<M>

Required Methods§

Source

fn new_chain<M: Math, R: Rng + ?Sized>( &self, chain: u64, math: M, rng: &mut R, ) -> Self::Chain<M>

Source

fn hint_num_tune(&self) -> usize

Source

fn hint_num_draws(&self) -> usize

Source

fn num_chains(&self) -> usize

Source

fn seed(&self) -> u64

Source

fn stats_options<M: Math>( &self, chain: &Self::Chain<M>, ) -> <Self::Chain<M> as SamplerStats<M>>::StatOptions

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§

Source§

impl Settings for DiagGradNutsSettings

Source§

type Chain<M: Math> = NutsChain<M, SmallRng, GlobalStrategy<M, Strategy<M>>>

Source§

impl Settings for LowRankNutsSettings

Source§

type Chain<M: Math> = NutsChain<M, SmallRng, GlobalStrategy<M, LowRankMassMatrixStrategy>>

Source§

impl Settings for TransformedNutsSettings

Source§

type Chain<M: Math> = NutsChain<M, SmallRng, TransformAdaptation>