Cutoff generator for the Luby sequence. More...
#include <search.hh>
Public Member Functions | |
CutoffLuby (unsigned long int scale) | |
Constructor. | |
virtual unsigned long int | operator() (void) const |
Return the current cutoff value. | |
virtual unsigned long int | operator++ (void) |
Increment and return the next cutoff value. | |
Cutoff (void) | |
Default constructor. | |
virtual | ~Cutoff (void) |
Destructor. |
Static Protected Member Functions | |
static unsigned long int | log (unsigned long int i) |
Compute binary logarithm of i. | |
static unsigned long int | luby (unsigned long int i) |
Compute Luby number for step i. |
Protected Attributes | |
unsigned long int | i |
Iteration number. | |
unsigned long int | scale |
Scale factor. |
Static Protected Attributes | |
static const unsigned long int | n_start = 63U |
Number of pre-computed luby values. | |
static unsigned long int | start [n_start] |
Precomputed luby-values. |
Additional Inherited Members | |
static Cutoff * | constant (unsigned long int scale=Config::slice) |
Create generator for constant sequence with constant s. | |
static Cutoff * | linear (unsigned long int scale=Config::slice) |
Create generator for linear sequence scaled by scale. | |
static Cutoff * | geometric (unsigned long int scale=Config::slice, double base=Config::base) |
static Cutoff * | luby (unsigned long int scale=Config::slice) |
Create generator for luby sequence with scale-factor scale. | |
static Cutoff * | rnd (unsigned int seed, unsigned long int min, unsigned long int max, unsigned long int n) |
static Cutoff * | append (Cutoff *c1, unsigned long int n, Cutoff *c2) |
Append cutoff values from c2 after n values from c1. | |
static Cutoff * | merge (Cutoff *c1, Cutoff *c2) |
Merge cutoff values from c1 with values from c2. | |
static Cutoff * | repeat (Cutoff *c, unsigned long int n) |
Create generator that repeats n times each cutoff value from c. | |
Static Public Member Functions inherited from Gecode::HeapAllocated | |
static void * | operator new (size_t s) |
Memory management. | |
static void | operator delete (void *p) |
Free memory allocated from heap. |
|
inline |
Constructor.
Definition at line 57 of file cutoff.hpp.
|
inlinestaticprotected |
Compute binary logarithm of i.
Definition at line 60 of file cutoff.hpp.
|
inlinestaticprotected |
Compute Luby number for step i.
Definition at line 68 of file cutoff.hpp.
|
virtual |
Return the current cutoff value.
Implements Gecode::Search::Cutoff.
Definition at line 70 of file cutoff.cpp.
|
virtual |
Increment and return the next cutoff value.
Implements Gecode::Search::Cutoff.
Definition at line 74 of file cutoff.cpp.
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |