pub struct EntropicSamplingAdaptive<Hist, R, E, S, Res, T> { /* private fields */ }Expand description
Entropic sampling made easy
J. Lee, “New Monte Carlo algorithm: Entropic sampling,” Phys. Rev. Lett. 71, 211–214 (1993), DOI: 10.1103/PhysRevLett.71.211
Implementations
sourceimpl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
impl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
sourcepub fn energy(&self) -> &T
pub fn energy(&self) -> &T
Energy of ensemble
- assuming
energy_fn(seeself.entropic_stepetc.) is deterministic and will allways give the same result for the same ensemble, this returns the energy of the current ensemble
sourcepub fn step_count(&self) -> usize
pub fn step_count(&self) -> usize
Number of entropic steps done until now
- will be reset by
self.refine_estimate
sourcepub fn step_goal(&self) -> usize
pub fn step_goal(&self) -> usize
Number of entropic steps to be performed
- if
selfwas created fromWangLandauAdaptive,step_goalwill be equal to the number of WangLandau steps, that were performed
sourcepub fn set_step_goal(&mut self, step_goal: usize)
pub fn set_step_goal(&mut self, step_goal: usize)
Number of entropic steps to be performed
- set the number of steps to be performed by entropic sampling
sourcepub fn min_step_size(&self) -> usize
pub fn min_step_size(&self) -> usize
sourcepub fn max_step_size(&self) -> usize
pub fn max_step_size(&self) -> usize
sourcepub fn best_of_steps(&self) -> &Vec<usize>
pub fn best_of_steps(&self) -> &Vec<usize>
Currently used best of
- might have length 0, if statistics are still being gathered
- otherwise this contains the step sizes, from which the next stepsize is drawn uniformly
sourcepub fn fraction_accepted_current(&self) -> f64
pub fn fraction_accepted_current(&self) -> f64
Fraction of steps accepted since the statistics were reset the last time
- (steps accepted since last reset) / (steps since last reset)
NaNif no steps were performed yet
sourcepub fn total_entr_steps_accepted(&self) -> usize
pub fn total_entr_steps_accepted(&self) -> usize
sourcepub fn total_entr_steps_rejected(&self) -> usize
pub fn total_entr_steps_rejected(&self) -> usize
sourcepub fn fraction_accepted_total_entropic(&self) -> f64
pub fn fraction_accepted_total_entropic(&self) -> f64
Fraction of steps accepted since the creation of self
NaNif no steps were performed yet
sourcepub fn log_density_estimate(&self) -> &Vec<f64>
pub fn log_density_estimate(&self) -> &Vec<f64>
- returns the (non normalized) log_density estimate log(P(E)), with which the simulation was started
- if you created this from a WangLandau simulation, this is the result of the WangLandau Simulation
sourceimpl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
sourcepub fn from_wl_adaptive(
wl: WangLandauAdaptive<Hist, R, E, S, Res, T>
) -> Result<Self, EntropicErrors>
pub fn from_wl_adaptive(
wl: WangLandauAdaptive<Hist, R, E, S, Res, T>
) -> Result<Self, EntropicErrors>
Creates EntropicSamplingAdaptive from a WangLandauAdaptive state
WangLandauAdaptivestate needs to be valid, i.e., you must have called one of theinit*methods
- this ensures, that the members
old_energyandold_binare notNone
sourcepub fn log_density_refined(&self) -> Vec<f64>
pub fn log_density_refined(&self) -> Vec<f64>
calculates the (non normalized) log_density estimate log(P(E)) according to the paper
sourcepub fn refine_estimate(&mut self) -> Vec<f64>
pub fn refine_estimate(&mut self) -> Vec<f64>
Calculates self.log_density_refined and uses that as estimate for a the entropic sampling simulation
- returns old estimate
prepares self for a new entropic simulation
- sets new estimate for log(P(E))
- resets statistic gathering
- resets step_count
sourcepub fn set_adjust_bestof_every(&mut self, adjust_bestof_every: usize)
pub fn set_adjust_bestof_every(&mut self, adjust_bestof_every: usize)
How often to adjust bestof_steps?
- if you try to set a value smaller 10, it will be set to 10
- will reevalute the statistics every
adjust_bestof_everysteps,
- this will not start new statistics gathering but just trigger a reevaluation of the gathered statistics (should be O(max_stepsize - min_stepsize))
sourcepub fn is_rebuilding_statistics(&self) -> bool
pub fn is_rebuilding_statistics(&self) -> bool
Is the simulation in the process of rebuilding the statistics, i.e., is it currently trying many differnt step sizes?
sourcepub fn estimate_statistics(&self) -> Result<Vec<f64>, WangLandauErrors>
pub fn estimate_statistics(&self) -> Result<Vec<f64>, WangLandauErrors>
Estimate accept/reject statistics
- contains list of estimated probabilities for accepting a step of corresponding step size
- list[i] corresponds to step size
i + self.min_step - O(trial_step_max - trial_step_min)
sourceimpl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram + HistogramVal<T>,
R: Rng,
E: MarkovChain<S, Res>,
T: Clone,
impl<Hist, R, E, S, Res, T> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram + HistogramVal<T>,
R: Rng,
E: MarkovChain<S, Res>,
T: Clone,
sourcepub unsafe fn entropic_sampling_while_unsafe<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&mut E) -> Option<T>,
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
pub unsafe fn entropic_sampling_while_unsafe<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&mut E) -> Option<T>,
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
Entropic sampling
- performs
self.entropic_step(energy_fn)untilconditionis false - Note: you have access to the current step_count (
self.step_count())
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected - Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
Safety
- While you do have mutable access to the ensemble, the energy function should not change the ensemble in a way, which affects the next calculation of the energy
- This is intended for usecases, where the energy calculation is more efficient with mutable access, e.g., through using a buffer stored in the ensemble
- Note: I chose to make this function unsafe to force users to aknowledge the (purely logical) limitations regarding the usage of the mutable ensemble. From a programming point of view this will not lead to any undefined behavior or such regardless of if the user fullfills the requirements
sourcepub fn entropic_sampling_while<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&E) -> Option<T>,
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
pub fn entropic_sampling_while<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&E) -> Option<T>,
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
Entropic sampling
- performs
self.entropic_step(energy_fn)untilconditionis false - Note: you have access to the current step_count (
self.step_count())
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected - Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
sourcepub fn entropic_sampling_while_acc<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&E, &S, &mut T),
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
pub fn entropic_sampling_while_acc<F, G, W>(
&mut self,
energy_fn: F,
print_fn: G,
condition: W
)where
F: FnMut(&E, &S, &mut T),
G: FnMut(&Self),
W: FnMut(&Self) -> bool,
Entropic sampling using an accumulating markov step
- performs
self.entropic_step_acc(&mut energy_fn)untilcondition(self) == false
Parameter
energy_fnfunction calculating the energyEof the system (or rather the Parameter of which you wish to obtain the probability distribution) during the markov steps, which can be more efficient.- Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
sourcepub unsafe fn entropic_sampling_unsafe<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&mut E) -> Option<T>,
G: FnMut(&mut Self),
pub unsafe fn entropic_sampling_unsafe<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&mut E) -> Option<T>,
G: FnMut(&mut Self),
Entropic sampling
- if possible, use
self.entropic_sampling()instead! - More powerful version of
self.entropic_sampling(), since you now have mutable access - to access ensemble mutable, use
self.ensemble_mut() - Note: Whatever you do with the ensemble (or self), should not change the result of the energy function, if performed again. Otherwise the results will be false!
- performs
self.entropic_step_unsafe(energy_fn)untilself.step_count == self.step_goal
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected - Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
Safety
- While you do have mutable access to the ensemble, the energy function should not change the ensemble in a way, which affects the next calculation of the energy
- This is intended for usecases, where the energy calculation is more efficient with mutable access, e.g., through using a buffer stored in the ensemble
- Note: I chose to make this function unsafe to force users to aknowledge the (purely logical) limitations regarding the usage of the mutable ensemble. From a programming point of view this will not lead to any undefined behavior or such regardless of if the user fullfills the requirements
sourcepub fn entropic_sampling<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&E) -> Option<T>,
G: FnMut(&Self),
pub fn entropic_sampling<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&E) -> Option<T>,
G: FnMut(&Self),
Entropic sampling
- performs
self.entropic_step(energy_fn)untilself.step_count == self.step_goal
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected - Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
sourcepub fn entropic_sampling_acc<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&E, &S, &mut T),
G: FnMut(&Self),
pub fn entropic_sampling_acc<F, G>(&mut self, energy_fn: F, print_fn: G)where
F: FnMut(&E, &S, &mut T),
G: FnMut(&Self),
Entropic sampling using an accumulating markov step
- performs
self.entropic_step_acc(&mut energy_fn)untilself.step_count == self.step_goal
Parameter
energy_fnfunction calculating the energyEof the system (or rather the Parameter of which you wish to obtain the probability distribution) during the markov steps, which can be more efficient.- Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong! print_fn: see below
Correlations
- if you want to measure correlations between “energy” and other measurable quantities,
use
print_fn, which will be called after each step - use this function to write to a file or whatever you desire - Note: You do not have to recalculate the energy, if you need it in
print_fn: just callself.energy() - you have access to your ensemble with
self.ensemble() - if you do not need it, you can use
|_|{}asprint_fn
sourcepub unsafe fn entropic_step_unsafe<F>(&mut self, energy_fn: F)where
F: FnMut(&mut E) -> Option<T>,
pub unsafe fn entropic_step_unsafe<F>(&mut self, energy_fn: F)where
F: FnMut(&mut E) -> Option<T>,
Entropic step
- performs a single step
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected
Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong!
Safety
- While you do have mutable access to the ensemble, the energy function should not change the ensemble in a way, which affects the next calculation of the energy
- This is intended for usecases, where the energy calculation is more efficient with mutable access, e.g., through using a buffer stored in the ensemble
- Note: I chose to make this function unsafe to force users to aknowledge the (purely logical) limitations regarding the usage of the mutable ensemble. From a programming point of view this will not lead to any undefined behavior or such regardless of if the user fullfills the requirements
sourcepub fn entropic_step<F>(&mut self, energy_fn: F)where
F: FnMut(&E) -> Option<T>,
pub fn entropic_step<F>(&mut self, energy_fn: F)where
F: FnMut(&E) -> Option<T>,
Entropic step
- performs a single step
Parameter
energy_fnfunction calculatingSome(energy)of the system or rather the Parameter of which you wish to obtain the probability distribution. If there are any states, for which the calculation is invalid,Noneshould be returned- steps resulting in ensembles for which
energy_fn(&mut ensemble)isNonewill always be rejected
Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong!
sourcepub fn entropic_step_acc<F>(&mut self, energy_fn: F)where
F: FnMut(&E, &S, &mut T),
pub fn entropic_step_acc<F>(&mut self, energy_fn: F)where
F: FnMut(&E, &S, &mut T),
Accumulating entropic step
- performs a single step
Parameter
energy_fnfunction calculating the energyEof the system (or rather the Parameter of which you wish to obtain the probability distribution) during the markov steps, which can be more efficient.
Important
energy_fn: should be the same as used for Wang Landau, otherwise the results will be wrong!
Trait Implementations
sourceimpl<Hist: Clone, R: Clone, E: Clone, S: Clone, Res: Clone, T: Clone> Clone for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
impl<Hist: Clone, R: Clone, E: Clone, S: Clone, Res: Clone, T: Clone> Clone for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
sourcefn clone(&self) -> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
fn clone(&self) -> EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresourceimpl<Hist: Debug, R: Debug, E: Debug, S: Debug, Res: Debug, T: Debug> Debug for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
impl<Hist: Debug, R: Debug, E: Debug, S: Debug, Res: Debug, T: Debug> Debug for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
sourceimpl<'de, Hist, R, E, S, Res, T> Deserialize<'de> for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Deserialize<'de>,
R: Deserialize<'de>,
E: Deserialize<'de>,
S: Deserialize<'de>,
T: Deserialize<'de>,
impl<'de, Hist, R, E, S, Res, T> Deserialize<'de> for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Deserialize<'de>,
R: Deserialize<'de>,
E: Deserialize<'de>,
S: Deserialize<'de>,
T: Deserialize<'de>,
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<Hist, R, E, S, Res, T> Entropic for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, T> Entropic for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
sourcefn step_counter(&self) -> usize
fn step_counter(&self) -> usize
Number of entropic steps done until now
- will be reset by
self.refine_estimate
sourcefn step_goal(&self) -> usize
fn step_goal(&self) -> usize
Number of entropic steps to be performed
- if
selfwas created fromWangLandauAdaptive,step_goalwill be equal to the number of WangLandau steps, that were performed
sourcefn total_steps_accepted(&self) -> usize
fn total_steps_accepted(&self) -> usize
How many steps were accepted until now? Read more
sourcefn total_steps_rejected(&self) -> usize
fn total_steps_rejected(&self) -> usize
How many steps were rejected until now? Read more
sourcefn log_density(&self) -> Vec<f64>
fn log_density(&self) -> Vec<f64>
Current (non normalized) estimate of ln(P(E)) Read more
sourcefn write_log<W: Write>(&self, w: W) -> Result<(), Error>
fn write_log<W: Write>(&self, w: W) -> Result<(), Error>
Writes Information about the simulation to a file.
E.g. How many steps were performed. Read more
sourcefn steps_total(&self) -> usize
fn steps_total(&self) -> usize
Counter Read more
sourcefn fraction_accepted_total(&self) -> f64
fn fraction_accepted_total(&self) -> f64
Calculate, which fraction of steps were accepted Read more
sourcefn fraction_rejected_total(&self) -> f64
fn fraction_rejected_total(&self) -> f64
Calculate, which fraction of steps were rejected Read more
sourcefn is_finished(&self) -> bool
fn is_finished(&self) -> bool
Checks wang landau threshold Read more
sourcefn log_density_base10(&self) -> Vec<f64>
fn log_density_base10(&self) -> Vec<f64>
Current (non normalized) estimate of log10(P(E)) Read more
sourceimpl<Hist, R, E, S, Res, Energy> EntropicEnergy<Energy> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, Energy> EntropicEnergy<Energy> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
sourcefn energy(&self) -> &Energy
fn energy(&self) -> &Energy
Energy of ensemble
- assuming
energy_fn(seeself.entropic_stepetc.) is deterministic and will allways give the same result for the same ensemble, this returns the energy of the current ensemble
sourceimpl<Hist, R, E, S, Res, Energy> EntropicEnsemble<E> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, Energy> EntropicEnsemble<E> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
sourceimpl<Hist, R, E, S, Res, Energy> EntropicHist<Hist> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, Energy> EntropicHist<Hist> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
Hist: Histogram,
R: Rng,
sourceimpl<Hist, R, E, S, Res, Energy> HasRng<R> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
R: Rng,
impl<Hist, R, E, S, Res, Energy> HasRng<R> for EntropicSamplingAdaptive<Hist, R, E, S, Res, Energy>where
R: Rng,
sourceimpl<Hist, R, E, S, Res, T> Serialize for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Serialize,
R: Serialize,
E: Serialize,
S: Serialize,
T: Serialize,
impl<Hist, R, E, S, Res, T> Serialize for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Serialize,
R: Serialize,
E: Serialize,
S: Serialize,
T: Serialize,
sourceimpl<Hist, R, E, S, Res, T> TryFrom<WangLandauAdaptive<Hist, R, E, S, Res, T>> for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
impl<Hist, R, E, S, Res, T> TryFrom<WangLandauAdaptive<Hist, R, E, S, Res, T>> for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
Hist: Histogram,
R: Rng,
type Error = EntropicErrors
type Error = EntropicErrors
The type returned in the event of a conversion error.
sourcefn try_from(
wl: WangLandauAdaptive<Hist, R, E, S, Res, T>
) -> Result<Self, Self::Error>
fn try_from(
wl: WangLandauAdaptive<Hist, R, E, S, Res, T>
) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations
impl<Hist, R, E, S, Res, T> RefUnwindSafe for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
E: RefUnwindSafe,
Hist: RefUnwindSafe,
R: RefUnwindSafe,
Res: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<Hist, R, E, S, Res, T> Send for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
E: Send,
Hist: Send,
R: Send,
Res: Send,
S: Send,
T: Send,
impl<Hist, R, E, S, Res, T> Sync for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
E: Sync,
Hist: Sync,
R: Sync,
Res: Sync,
S: Sync,
T: Sync,
impl<Hist, R, E, S, Res, T> Unpin for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
E: Unpin,
Hist: Unpin,
R: Unpin,
Res: Unpin,
S: Unpin,
T: Unpin,
impl<Hist, R, E, S, Res, T> UnwindSafe for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>where
E: UnwindSafe,
Hist: UnwindSafe,
R: UnwindSafe,
Res: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
fn try_cast_trunc(self) -> Result<T, Error>
fn try_cast_trunc(self) -> Result<T, Error>
Try converting to integer with truncation Read more
fn try_cast_nearest(self) -> Result<T, Error>
fn try_cast_nearest(self) -> Result<T, Error>
Try converting to the nearest integer Read more
fn try_cast_floor(self) -> Result<T, Error>
fn try_cast_floor(self) -> Result<T, Error>
Try converting the floor to an integer Read more
fn try_cast_ceil(self) -> Result<T, Error>
fn try_cast_ceil(self) -> Result<T, Error>
Try convert the ceiling to an integer Read more