59 forceinline
unsigned long long int
63 unsigned long long int exp = 0U;
64 while ( (
i >> (++
exp)) > 1U ) {}
67 forceinline
unsigned long long int
71 return static_cast<unsigned long long int>(
start[
i-1]);
72 unsigned long long int l =
log(
i);
73 if (
i == (1ULL<<(l+1))-1)
84 :
n(1.0),
scale(static_cast<double>(scale0)),
base(base0) {}
89 unsigned long long int min0,
90 unsigned long long int max0,
91 unsigned long long int n0)
94 static_cast<unsigned long long int>((max0-min0+1U)/
n))) {
101 :
c1(d1),
c2(d2),
n(n0) {}
104 delete c1;
delete c2;
113 delete c1;
delete c2;
119 :
c(c1),
i(0),
n(n0) {
unsigned long long int n
How many number to take from the first.
CutoffAppend(Cutoff *c1, unsigned long long int n, Cutoff *c2)
Constructor.
Cutoff * c1
First cutoff generators.
virtual ~CutoffAppend(void)
Destructor.
Cutoff * c2
Second cutoff generators.
CutoffConstant(unsigned long long int c)
Constructor.
unsigned long long int c
Constant.
double n
Current cutoff value.
CutoffGeometric(unsigned long long int scale, double base)
Constructor.
double scale
Scale factor.
unsigned long long int n
Next number in sequence.
CutoffLinear(unsigned long long int scale)
Constructor.
unsigned long long int scale
Scale factor.
static const unsigned long long int n_start
Number of pre-computed luby values.
unsigned long long int i
Iteration number.
static unsigned long long int log(unsigned long long int i)
Compute binary logarithm of i.
CutoffLuby(unsigned long long int scale)
Constructor.
static unsigned long int start[n_start]
Precomputed luby-values.
unsigned long long int scale
Scale factor.
static unsigned long long int luby(unsigned long long int i)
Compute Luby number for step i.
virtual ~CutoffMerge(void)
Destructor.
Cutoff * c1
First cutoff generator.
Cutoff * c2
Second cutoff generator.
CutoffMerge(Cutoff *c1, Cutoff *c2)
Constructor.
CutoffRandom(unsigned int seed, unsigned long long int min, unsigned long long int max, unsigned long long int n)
Constructor.
unsigned long long int n
Random values.
unsigned long long int step
Step size.
unsigned long long int cur
Current value.
unsigned long long int min
Minimum cutoff value.
Support::RandomGenerator rnd
Random number generator.
Cutoff * c
Actual cutoff generator.
virtual ~CutoffRepeat(void)
Destructor.
unsigned long long int cutoff
CutoffRepeat(Cutoff *c, unsigned long long int n)
Constructor.
virtual ~Cutoff(void)
Destructor.
Cutoff(void)
Default constructor.
Gecode toplevel namespace
void exp(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
#define GECODE_NEVER
Assert that this command is never executed.