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 {
#define GECODE_FLOAT_EXPORT
Propagator for bounds consistent n-ary linear equality
virtual void reschedule(Space &home)
Schedule function.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
Propagator for bounds consistent n-ary linear less or equal
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Base-class for n-ary linear propagators.
Lin(Space &home, Lin< P, N, pc > &p)
Constructor for cloning p.
Base-class for propagators.
ViewArray< N > y
Array of negative views.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
Base-class for both propagators and branchers.
ViewArray< P > x
Array of positive views.
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
FloatRelType
Relation types for floats.
ModEventDelta med
A set of modification events (used during propagation)
Reification specification.
FloatVal c
Constant value.
Float view for float variables.
Post propagator for SetVar SetOpType SetVar SetRelType r
void estimate(Term *t, int n, FloatVal c, FloatNum &l, FloatNum &u)
Estimate lower and upper bounds.
void bounds_n(ModEventDelta med, ViewArray< View > &y, FloatVal &c, FloatNum &sl, FloatNum &su)
Compute bounds information for negative views.
Class for describing linear term .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)=0
Propagation function.
Gecode toplevel namespace
int ModEventDelta
Modification event deltas.
Home class for posting propagators
double FloatNum
Floating point number base type.
virtual Actor * copy(Space &home)=0
Create copy.
void bounds_p(ModEventDelta med, ViewArray< View > &x, FloatVal &c, FloatNum &sl, FloatNum &su)
Compute bounds information for positive views.