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