Gecode::Int::Linear::ReEq< Val, P, N, Ctrl > Class Template Reference
[Integer propagators]
#include <linear.hh>
Inherits Gecode::Int::Linear::ReLin< Gecode::Int::GCC::Val< View, Card, isView >, P, N, PC_INT_BND, Ctrl >.
Detailed Description
template<class Val, class P, class N, class Ctrl>
class Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >
Propagator for reified bounds consistent n-ary linear equality
The type Val can be either double
or int
, defining the numerical precision during propagation. The types P and N give the types of the views.
The propagation condition pc refers to both views.
Requires
#include "gecode/int/linear.hh"
Definition at line 737 of file linear.hh.
Public Member Functions | |
ReEq (Space *home, ViewArray< P > &x, ViewArray< N > &y, Val c, Ctrl b) | |
Constructor for creation. | |
virtual Actor * | copy (Space *home, bool share) |
Create copy during cloning. | |
virtual ExecStatus | propagate (Space *home, ModEventDelta med) |
Perform propagation. | |
virtual Reflection::ActorSpec | spec (const Space *home, Reflection::VarMap &m) const |
Specification for this propagator. | |
Static Public Member Functions | |
static void | post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec) |
Post propagator according to specification. | |
static Support::Symbol | ati (void) |
Mangled propagator name. | |
static ExecStatus | post (Space *home, ViewArray< P > &x, ViewArray< N > &y, Val c, Ctrl b) |
Post propagator for . | |
Protected Member Functions | |
ReEq (Space *home, bool share, ReEq &p) | |
Constructor for cloning p. |
Constructor & Destructor Documentation
template<class Val, class P, class N, class Ctrl>
Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::ReEq | ( | Space * | home, | |
bool | share, | |||
ReEq< Val, P, N, Ctrl > & | p | |||
) | [protected] |
Constructor for cloning p.
Member Function Documentation
template<class Val, class P, class N, class Ctrl>
Actor * Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::copy | ( | Space * | home, | |
bool | share | |||
) | [inline, virtual] |
template<class Val, class P, class N, class Ctrl>
ExecStatus Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::propagate | ( | Space * | home, | |
ModEventDelta | med | |||
) | [inline, virtual] |
template<class Val, class P, class N, class Ctrl>
Reflection::ActorSpec Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::spec | ( | const Space * | home, | |
Reflection::VarMap & | m | |||
) | const [inline, virtual] |
Specification for this propagator.
Reimplemented from Gecode::Actor.
Definition at line 480 of file int-nary.icc.
template<class Val, class P, class N, class Ctrl>
void Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::post | ( | Space * | home, | |
Reflection::VarMap & | vars, | |||
const Reflection::ActorSpec & | spec | |||
) | [inline, static] |
template<class Val, class P, class N, class Ctrl>
Support::Symbol Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::ati | ( | void | ) | [inline, static] |
template<class Val, class P, class N, class Ctrl>
ExecStatus Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >::post | ( | Space * | home, | |
ViewArray< P > & | x, | |||
ViewArray< N > & | y, | |||
Val | c, | |||
Ctrl | b | |||
) | [inline, static] |
The documentation for this class was generated from the following files:
- gecode/int/linear.hh (Revision: 7285)
- gecode/int/linear/int-nary.icc (Revision: 6017)