Gecode::CpltSet::NaryCpltSetPropagator< View > Class Template Reference
[CpltSet propagators]
#include <propagators.hh>
Inherits Gecode::Propagator.
Detailed Description
template<class View>
class Gecode::CpltSet::NaryCpltSetPropagator< View >
Nary propagator for CpltSet variables.
Propagates a constraint specified as a bdd.
Requires
#include "gecode/cpltset/propagators.hh"
Definition at line 54 of file propagators.hh.
Public Member Functions | |
virtual PropCost | cost (ModEventDelta med) const |
Cost function. | |
virtual Reflection::ActorSpec | spec (const Space *home, Reflection::VarMap &m) const |
Specification for this propagator. | |
virtual size_t | dispose (Space *home) |
Delete propagator. | |
virtual Actor * | copy (Space *home, bool) |
Copy propagator during cloning. | |
virtual ExecStatus | propagate (Space *home, ModEventDelta med) |
Perform propagation. | |
ExecStatus | propagate_eeq (Space *home) |
Use eeq to perform domain propagation with n^2 and-abstractions. | |
ExecStatus | propagate_bnd_eeq (Space *home) |
Use eeq to perform bounds propagation. | |
ExecStatus | propagate_ddc (Space *home) |
Use ddc to perform domain propagation with nlog(n) and-abstractions. | |
ExecStatus | propagate_bnd_ddc (Space *home) |
Use ddc to perform bounds propagation with nlog(n) and-abstractions. | |
Static Public Member Functions | |
static Support::Symbol | ati (void) |
Name of this propagator. | |
static ExecStatus | post (Space *home, ViewArray< View > &x, bdd &d) |
Protected Member Functions | |
NaryCpltSetPropagator (Space *home, bool share, NaryCpltSetPropagator &p) | |
Constructor for cloning p. | |
NaryCpltSetPropagator (Space *home, ViewArray< View > &x, bdd &d) | |
Constructor for creation. | |
bdd | bnd_phi (int j) |
(EEQ) Earliest Existential Quantification for set bounds propagation | |
bdd | phi (int i, int j) |
(EEQ) Earliest Existential Quantification | |
ExecStatus | divide_conquer (Space *home, bdd &p, int i, int j) |
Apply existential quantification for all variables. | |
Protected Attributes | |
ViewArray< View > | x |
Array of views. | |
bdd | d |
Bdd representation of the constraint. |
Constructor & Destructor Documentation
template<class View>
Gecode::CpltSet::NaryCpltSetPropagator< View >::NaryCpltSetPropagator | ( | Space * | home, | |
bool | share, | |||
NaryCpltSetPropagator< View > & | p | |||
) | [inline, protected] |
template<class View>
Gecode::CpltSet::NaryCpltSetPropagator< View >::NaryCpltSetPropagator | ( | Space * | home, | |
ViewArray< View > & | x, | |||
bdd & | d | |||
) | [inline, protected] |
Member Function Documentation
template<class View>
bdd Gecode::CpltSet::NaryCpltSetPropagator< View >::bnd_phi | ( | int | j | ) | [inline, protected] |
template<class View>
bdd Gecode::CpltSet::NaryCpltSetPropagator< View >::phi | ( | int | i, | |
int | j | |||
) | [inline, protected] |
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::divide_conquer | ( | Space * | home, | |
bdd & | p, | |||
int | i, | |||
int | j | |||
) | [inline, protected] |
template<class View>
PropCost Gecode::CpltSet::NaryCpltSetPropagator< View >::cost | ( | ModEventDelta | med | ) | const [inline, virtual] |
template<class View>
Reflection::ActorSpec Gecode::CpltSet::NaryCpltSetPropagator< View >::spec | ( | const Space * | home, | |
Reflection::VarMap & | m | |||
) | const [inline, virtual] |
template<class View>
Support::Symbol Gecode::CpltSet::NaryCpltSetPropagator< View >::ati | ( | void | ) | [inline, static] |
template<class View>
size_t Gecode::CpltSet::NaryCpltSetPropagator< View >::dispose | ( | Space * | home | ) | [inline, virtual] |
template<class View>
Actor * Gecode::CpltSet::NaryCpltSetPropagator< View >::copy | ( | Space * | home, | |
bool | share | |||
) | [inline, virtual] |
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::propagate | ( | Space * | home, | |
ModEventDelta | med | |||
) | [inline, virtual] |
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::propagate_eeq | ( | Space * | home | ) |
Use eeq to perform domain propagation with n^2 and-abstractions.
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::propagate_bnd_eeq | ( | Space * | home | ) |
Use eeq to perform bounds propagation.
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::propagate_ddc | ( | Space * | home | ) |
Use ddc to perform domain propagation with nlog(n) and-abstractions.
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::propagate_bnd_ddc | ( | Space * | home | ) |
Use ddc to perform bounds propagation with nlog(n) and-abstractions.
template<class View>
ExecStatus Gecode::CpltSet::NaryCpltSetPropagator< View >::post | ( | Space * | home, | |
ViewArray< View > & | x, | |||
bdd & | d | |||
) | [inline, static] |
Member Data Documentation
template<class View>
ViewArray<View> Gecode::CpltSet::NaryCpltSetPropagator< View >::x [protected] |
template<class View>
bdd Gecode::CpltSet::NaryCpltSetPropagator< View >::d [protected] |
The documentation for this class was generated from the following files:
- gecode/cpltset/propagators.hh (Revision: 5993)
- gecode/cpltset/propagators/nary.icc (Revision: 6017)