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 Default for SequenceGeneratorType
impl Default for SequenceGeneratorType
Source§fn default() -> SequenceGeneratorType
fn default() -> SequenceGeneratorType
Source§impl ValueEnum for SequenceGeneratorType
impl ValueEnum for SequenceGeneratorType
Source§fn value_variants<'a>() -> &'a [SequenceGeneratorType]
fn value_variants<'a>() -> &'a [SequenceGeneratorType]
Source§fn to_possible_value<'a>(&self) -> Option<PossibleValue>
fn to_possible_value<'a>(&self) -> Option<PossibleValue>
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§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 more