Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0

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 Cutoffconstant (unsigned long int scale=Config::slice)
 Create generator for constant sequence with constant s.
static Cutofflinear (unsigned long int scale=Config::slice)
 Create generator for linear sequence scaled by scale.
static Cutoffgeometric (unsigned long int scale=Config::slice, double base=Config::base)
static Cutoffluby (unsigned long int scale=Config::slice)
 Create generator for luby sequence with scale-factor scale.
static Cutoffrnd (unsigned int seed, unsigned long int min, unsigned long int max, unsigned long int n)
static Cutoffappend (Cutoff *c1, unsigned long int n, Cutoff *c2)
 Append cutoff values from c2 after n values from c1.
static Cutoffmerge (Cutoff *c1, Cutoff *c2)
 Merge cutoff values from c1 with values from c2.
static Cutoffrepeat (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.

Detailed Description

Cutoff generator for the Luby sequence.

Definition at line 561 of file search.hh.

Constructor & Destructor Documentation

◆ CutoffLuby()

Gecode::Search::CutoffLuby::CutoffLuby ( unsigned long int scale)
inline

Constructor.

Definition at line 57 of file cutoff.hpp.

Member Function Documentation

◆ log()

unsigned long int Gecode::Search::CutoffLuby::log ( unsigned long int i)
inlinestaticprotected

Compute binary logarithm of i.

Definition at line 60 of file cutoff.hpp.

◆ luby()

unsigned long int Gecode::Search::CutoffLuby::luby ( unsigned long int i)
inlinestaticprotected

Compute Luby number for step i.

Definition at line 68 of file cutoff.hpp.

◆ operator()()

unsigned long int Gecode::Search::CutoffLuby::operator() ( void ) const
virtual

Return the current cutoff value.

Implements Gecode::Search::Cutoff.

Definition at line 70 of file cutoff.cpp.

◆ operator++()

unsigned long int Gecode::Search::CutoffLuby::operator++ ( void )
virtual

Increment and return the next cutoff value.

Implements Gecode::Search::Cutoff.

Definition at line 74 of file cutoff.cpp.

Member Data Documentation

◆ i

unsigned long int Gecode::Search::CutoffLuby::i
protected

Iteration number.

Definition at line 564 of file search.hh.

◆ scale

unsigned long int Gecode::Search::CutoffLuby::scale
protected

Scale factor.

Definition at line 566 of file search.hh.

◆ n_start

const unsigned long int Gecode::Search::CutoffLuby::n_start = 63U
staticprotected

Number of pre-computed luby values.

Definition at line 568 of file search.hh.

◆ start

unsigned long int Gecode::Search::CutoffLuby::start
staticprotected
Initial value:
= {
1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,16,
1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,16,32
}

Precomputed luby-values.

Definition at line 570 of file search.hh.


The documentation for this class was generated from the following files: