Go to the documentation of this file.
38 #ifndef __GECODE_FLOAT_LINEAR_HH__
39 #define __GECODE_FLOAT_LINEAR_HH__
49 namespace Gecode {
namespace Float {
namespace Linear {
56 template<
class P,
class N, PropCond pc>
105 template<
class P,
class N>
106 class Eq :
public Lin<P,N,PC_FLOAT_BND> {
135 template<
class P,
class N>
136 class Lq :
public Lin<P,N,PC_FLOAT_BND> {
160 namespace Gecode {
namespace Float {
namespace Linear {
void bounds_n(ModEventDelta med, ViewArray< View > &y, FloatVal &c, FloatNum &sl, FloatNum &su)
Compute bounds information for negative views.
Eq(Space &home, Eq &p)
Constructor for cloning p.
Post propagator for SetVar x
Post propagator for SetVar SetOpType SetVar y
Propagator for bounds consistent n-ary linear less or equal
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void bounds_p(ModEventDelta med, ViewArray< View > &x, FloatVal &c, FloatNum &sl, FloatNum &su)
Compute bounds information for positive views.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
Base-class for both propagators and branchers.
FloatVal c
Constant value.
FloatRelType
Relation types for floats.
static ExecStatus post(Home home, ViewArray< P > &x, ViewArray< N > &y, FloatVal c)
Post propagator for .
Lin(Space &home, Lin< P, N, pc > &p)
Constructor for cloning p.
ViewArray< P > x
Array of positive views.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Gecode toplevel namespace
Base-class for propagators.
virtual void reschedule(Space &home)
Schedule function.
union Gecode::@602::NNF::@65 u
Union depending on nodetype t.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Float view for float variables.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
Reification specification.
Home class for posting propagators
void estimate(Term *t, int n, FloatVal c, FloatNum &l, FloatNum &u)
Estimate lower and upper bounds.
Post propagator for SetVar SetOpType SetVar SetRelType r
double FloatNum
Floating point number base type.
ModEventDelta med
A set of modification events (used during propagation)
virtual Actor * copy(Space &home)
Create copy during cloning.
#define GECODE_FLOAT_EXPORT
Base-class for n-ary linear propagators.
Propagator for bounds consistent n-ary linear equality
virtual Actor * copy(Space &home)
Create copy during cloning.
Class for describing linear term .
static ExecStatus post(Home home, ViewArray< P > &x, ViewArray< N > &y, FloatVal c)
Post propagator for .
Gecode::FloatVal c(-8, 8)
int n
Number of negative literals for node type.
int ModEventDelta
Modification event deltas.
ViewArray< N > y
Array of negative views.
int p
Number of positive literals for node type.
Lq(Space &home, Lq &p)
Constructor for cloning p.