Generated on Thu Apr 11 13:59:53 2019 for Gecode by doxygen 1.6.3

Gecode::Float::Linear Namespace Reference

Linear propagators More...

Classes

class  TermLess
 Sort linear terms by view. More...
class  Lin
 Base-class for n-ary linear propagators. More...
class  Eq
 Propagator for bounds consistent n-ary linear equality More...
class  Lq
 Propagator for bounds consistent n-ary linear less or equal More...
class  Term
 Class for describing linear term $a\cdot x$. More...

Functions

template<class View >
void eliminate_p (ModEventDelta med, ViewArray< View > &x, FloatVal &c)
template<class View >
void eliminate_n (ModEventDelta med, ViewArray< View > &y, FloatVal &c)
bool infty (const FloatNum &n)
void estimate (Term *t, int n, FloatVal c, FloatNum &l, FloatNum &u)
 Estimate lower and upper bounds.
bool overflow (Term *t, int n, FloatVal c)
FloatView extend (Home home, Region &r, Term *&t, int &n)
 Extend terms by adding view for result.
template<class View >
void post_nary (Home home, ViewArray< View > &x, ViewArray< View > &y, FloatRelType frt, FloatVal c)
 Posting n-ary propagators.
void dopost (Home home, Term *t, int n, FloatRelType frt, FloatVal c)
void post (Home home, Term *t, int n, FloatRelType frt, FloatVal c)
 Post propagator for linear constraint over floats.
void post (Home home, Term *t, int n, FloatRelType frt, FloatVal c, Reify r)
 Post propagator for reified linear constraint over floats.

Detailed Description

Linear propagators


Function Documentation

template<class View >
void Gecode::Float::Linear::eliminate_p ( ModEventDelta  med,
ViewArray< View > &  x,
FloatVal &  c 
) [inline]

Definition at line 83 of file nary.hpp.

template<class View >
void Gecode::Float::Linear::eliminate_n ( ModEventDelta  med,
ViewArray< View > &  y,
FloatVal &  c 
) [inline]

Definition at line 98 of file nary.hpp.

bool Gecode::Float::Linear::infty ( const FloatNum &  n  )  [inline]

Definition at line 111 of file nary.hpp.

void Gecode::Float::Linear::estimate ( Term *  t,
int  n,
FloatVal  c,
FloatNum &  l,
FloatNum &  u 
)

Estimate lower and upper bounds.

Estimates the boundaries for a linear expression $\sum_{i=0}^{n-1}t_i + c$. If the boundaries exceed the limits as defined in Limits::Float, these boundaries are returned.

Parameters:
t array of linear terms
n size of array
c constant
l lower bound
u upper bound
bool Gecode::Float::Linear::overflow ( Term *  t,
int  n,
FloatVal  c 
) [inline]

Definition at line 62 of file post.cpp.

FloatView Gecode::Float::Linear::extend ( Home  home,
Region &  r,
Term *&  t,
int &  n 
)

Extend terms by adding view for result.

Definition at line 83 of file post.cpp.

template<class View >
void Gecode::Float::Linear::post_nary ( Home  home,
ViewArray< View > &  x,
ViewArray< View > &  y,
FloatRelType  frt,
FloatVal  c 
) [inline]

Posting n-ary propagators.

Definition at line 102 of file post.cpp.

void Gecode::Float::Linear::dopost ( Home  home,
Term *  t,
int  n,
FloatRelType  frt,
FloatVal  c 
)

Definition at line 117 of file post.cpp.