36namespace Gecode {
namespace Kernel {
58 static const int n_info = 8192;
88 double decay(
void)
const;
92 Info*
allocate(
unsigned int p,
unsigned int gid);
96 unsigned int pid(
void)
const;
111 GPI::Block::Block(
void)
112 : next(NULL), free(n_info) {}
115 GPI::Block::rescale(
void) {
116 for (
int i=free; i < n_info; i++)
123 : b(&fst), invd(1.0), npid(0U), us(false) {}
128 c.afc = invd * (c.afc + 1.0);
130 for (Block* i = b; i != NULL; i = i->next)
174 Block*
n =
new Block;
177 c = &b->info[--b->free];
188 Block*
n =
new Block;
191 c = &b->info[--b->free];
union Gecode::@603::NNF::@65 u
Union depending on nodetype t.
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Base class for heap allocated objects.
Class for storing propagator information.
void init(unsigned int pid, unsigned int gid)
Initialize.
unsigned int pid
Propagator identifier.
unsigned int gid
Group identifier.
Global propagator information.
unsigned int pid(void) const
Return next free propagator id.
double decay(void) const
Return decay factor.
void fail(Info &c)
Increment failure count.
bool unshare(void)
Provide access to unshare info and set to true.
Info * allocate(unsigned int p, unsigned int gid)
Allocate info for existing propagator with pid p.
A mutex for mutual exclausion among several threads.
void release(void)
Release the mutex.
void acquire(void)
Acquire the mutex and possibly block.
#define GECODE_KERNEL_EXPORT
const double rescale_limit
Rescale action and afc values when larger than this.
const double rescale
Rescale factor for action and afc values.
Gecode toplevel namespace