36 namespace Gecode {
namespace Kernel {
51 void init(
unsigned int pid,
unsigned int gid);
58 static const int n_info = 8192;
88 double decay(
void)
const;
109 GPI::Block::Block(
void)
110 : next(NULL), free(n_info) {}
114 for (
int i=free;
i < n_info;
i++)
121 :
b(&fst), invd(1.0),
pid(0U), us(false) {}
126 c.
afc = invd * (c.
afc + 1.0);
128 for (Block*
i = b;
i != NULL;
i =
i->next)
163 Block*
n =
new Block;
166 c = &b->info[--b->free];
177 Block*
n =
new Block;
180 c = &b->info[--b->free];
Info * allocate(unsigned int p, unsigned int gid)
Allocate info for existing propagator with pid p.
void fail(Info &c)
Increment failure count.
const double rescale_limit
Rescale action and afc values when larger than this.
bool unshare(void)
Provide access to unshare info and set to true.
void acquire(void)
Acquire the mutex and possibly block.
double decay(void) const
Return decay factor.
A mutex for mutual exclausion among several threads.
Global propagator information.
void release(void)
Release the mutex.
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
struct Gecode::@593::NNF::@62::@63 b
For binary nodes (and, or, eqv)
#define GECODE_KERNEL_EXPORT
union Gecode::@593::NNF::@62 u
Union depending on nodetype t.
Class for storing propagator information.
void init(unsigned int pid, unsigned int gid)
Initialize.
const double rescale
Rescale factor for action and afc values.
Gecode toplevel namespace
unsigned int pid
Propagator identifier.
unsigned int gid
Group identifier.
Base class for heap allocated objects.