pub enum SequenceGeneratorType {
Constant,
Geometric,
Luby,
}Expand description
Specifies the type of sequence which is used to generate conflict limits before a restart occurs.
Variants§
Constant
Indicates that the restart strategy should restart every x conflicts.
Geometric
Indicates that the restarts strategy should use geometric restarts.
Given two constants base and multiplicative_factor, the i-th element f(i) in a
geometric sequence is caluclated as follows:
f(i) = f(i - 1) * multiplicative_factorf(0) = base
When multiplicative_factor is not an integer, then the above formula is not the same
as the formula f(i) = a * m^i since intermediate values are founded down.
Luby
Indicates that the restart strategy should use Luby restarts [1].
The Luby sequence is a recursive sequence of the form: 1, 1, 2, 1, 1, 2, 4, 1, 1, 2, 1, 1, 2, 4, 8, 1, 1, 2….
§Bibliography
[1] M. Luby, A. Sinclair, and D. Zuckerman, ‘Optimal speedup of Las Vegas algorithms’, Information Processing Letters, vol. 47, no. 4, pp. 173–180, 1993.
Trait Implementations§
source§impl Clone for SequenceGeneratorType
impl Clone for SequenceGeneratorType
source§fn clone(&self) -> SequenceGeneratorType
fn clone(&self) -> SequenceGeneratorType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for SequenceGeneratorType
impl Debug for SequenceGeneratorType
source§impl Display for SequenceGeneratorType
impl Display for SequenceGeneratorType
impl Copy for SequenceGeneratorType
Auto Trait Implementations§
impl Freeze for SequenceGeneratorType
impl RefUnwindSafe for SequenceGeneratorType
impl Send for SequenceGeneratorType
impl Sync for SequenceGeneratorType
impl Unpin for SequenceGeneratorType
impl UnwindSafe for SequenceGeneratorType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§impl<Value> Statistic for Valuewhere
Value: Display,
impl<Value> Statistic for Valuewhere
Value: Display,
source§fn log(&self, statistic_logger: StatisticLogger)
fn log(&self, statistic_logger: StatisticLogger)
Statistic using the provided StatisticLogger.