Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::Float::Linear Namespace Reference

Linear propagators More...

Classes

class  Eq
 Propagator for bounds consistent n-ary linear equality More...
class  Lin
 Base-class for n-ary linear propagators. 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...
class  TermLess
 Sort linear terms by view. More...

Functions

void estimate (Term *t, int n, FloatVal c, FloatNum &l, FloatNum &u)
 Estimate lower and upper bounds.
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.
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)
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)
template<class View>
void bounds_p (ModEventDelta med, ViewArray< View > &x, FloatVal &c, FloatNum &sl, FloatNum &su)
 Compute bounds information for positive views.
template<class View>
void bounds_n (ModEventDelta med, ViewArray< View > &y, FloatVal &c, FloatNum &sl, FloatNum &su)
 Compute bounds information for negative views.

Detailed Description

Linear propagators

Function Documentation

◆ estimate()

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
tarray of linear terms
nsize of array
cconstant
llower bound
uupper bound

Definition at line 45 of file post.cpp.

◆ eliminate_p()

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

Definition at line 83 of file nary.hpp.

◆ eliminate_n()

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

Definition at line 98 of file nary.hpp.

◆ infty()

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

Definition at line 111 of file nary.hpp.

◆ overflow()

bool Gecode::Float::Linear::overflow ( Term * t,
int n,
FloatVal c )
inline

Definition at line 64 of file post.cpp.

◆ extend()

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

Extend terms by adding view for result.

Definition at line 85 of file post.cpp.

◆ post_nary()

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 104 of file post.cpp.

◆ dopost()

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

Definition at line 119 of file post.cpp.