Generated on Thu Mar 22 10:39:47 2012 for Gecode by doxygen 1.6.3

int.hh File Reference

(Revision: 12537)

#include <climits>
#include <cfloat>
#include <iostream>
#include <vector>
#include <gecode/kernel.hh>
#include <gecode/iter.hh>
#include <gecode/support/auto-link.hpp>
#include <gecode/int/exception.hpp>
#include <gecode/int/limits.hpp>
#include <gecode/int/int-set-1.hpp>
#include <gecode/int/var-imp.hpp>
#include <gecode/int/view.hpp>
#include <gecode/int/propagator.hpp>
#include <gecode/int/array-traits.hpp>
#include <gecode/int/int-set-2.hpp>
#include <gecode/int/array.hpp>
#include <gecode/int/extensional/dfa.hpp>
#include <gecode/int/extensional/tuple-set.hpp>

Go to the source code of this file.

Classes

class  Gecode::IntSet
 Integer sets. More...
class  Gecode::IntSetRanges
 Range iterator for integer sets. More...
class  Gecode::IntSetValues
 Value iterator for integer sets. More...
class  Gecode::IntVar
 Integer variables. More...
class  Gecode::IntVarRanges
 Range iterator for integer variables More...
class  Gecode::IntVarValues
 Value iterator for integer variables. More...
class  Gecode::BoolVar
 Boolean integer variables. More...
class  Gecode::IntArgs
 Passing integer arguments. More...
class  Gecode::IntVarArgs
 Passing integer variables. More...
class  Gecode::BoolVarArgs
 Passing Boolean variables. More...
class  Gecode::IntVarArray
 Integer variable array. More...
class  Gecode::BoolVarArray
 Boolean variable array. More...
class  Gecode::ArrayTraits< PrimArgArray< TaskType > >
 Traits of TaskTypeArgs. More...
class  Gecode::DFA
 Deterministic finite automaton (DFA). More...
class  Gecode::DFA::Transition
 Specification of a DFA transition. More...
class  Gecode::DFA::Transitions
 Iterator for DFA transitions (sorted by symbols). More...
class  Gecode::DFA::Symbols
 Iterator for DFA symbols. More...
class  Gecode::TupleSet
 Class represeting a set of tuples. More...
class  Gecode::TupleSet::TupleSetI
 Data stored for a Table. More...

Namespaces

namespace  Gecode::Int
 

Finite domain integers.


namespace  Gecode
 

Gecode toplevel namespace


namespace  Gecode::Int::Limits
 

Numerical limits for integer variables.


Defines

#define GECODE_INT_EXPORT
#define GECODE_LIBRARY_NAME   "Int"

Typedefs

typedef ArgArray< IntSet > Gecode::IntSetArgs
 Passing set arguments.
typedef PrimArgArray< TaskType > Gecode::TaskTypeArgs
 Argument arrays for passing task type arguments.
typedef SharedArray< int > Gecode::IntSharedArray
 Arrays of integers that can be shared among several element constraints.

Enumerations

enum  Gecode::IntRelType {
  Gecode::IRT_EQ, Gecode::IRT_NQ, Gecode::IRT_LQ, Gecode::IRT_LE,
  Gecode::IRT_GQ, Gecode::IRT_GR
}
 

Relation types for integers.

More...
enum  Gecode::BoolOpType {
  Gecode::BOT_AND, Gecode::BOT_OR, Gecode::BOT_IMP, Gecode::BOT_EQV,
  Gecode::BOT_XOR
}
 

Operation types for Booleans.

More...
enum  Gecode::IntConLevel { Gecode::ICL_VAL, Gecode::ICL_BND, Gecode::ICL_DOM, Gecode::ICL_DEF }
 

Consistency levels for integer propagators.

More...
enum  Gecode::TaskType { Gecode::TT_FIXP, Gecode::TT_FIXS, Gecode::TT_FIXE }
 

Type of task for scheduling constraints.

More...
enum  Gecode::ExtensionalPropKind { Gecode::EPK_DEF, Gecode::EPK_SPEED, Gecode::EPK_MEMORY }
 

Extensional propagation kind.

More...
enum  Gecode::IntVarBranch {
  Gecode::INT_VAR_NONE = 0, Gecode::INT_VAR_RND, Gecode::INT_VAR_DEGREE_MIN, Gecode::INT_VAR_DEGREE_MAX,
  Gecode::INT_VAR_AFC_MIN, Gecode::INT_VAR_AFC_MAX, Gecode::INT_VAR_MIN_MIN, Gecode::INT_VAR_MIN_MAX,
  Gecode::INT_VAR_MAX_MIN, Gecode::INT_VAR_MAX_MAX, Gecode::INT_VAR_SIZE_MIN, Gecode::INT_VAR_SIZE_MAX,
  Gecode::INT_VAR_SIZE_DEGREE_MIN, Gecode::INT_VAR_SIZE_DEGREE_MAX, Gecode::INT_VAR_SIZE_AFC_MIN, Gecode::INT_VAR_SIZE_AFC_MAX,
  Gecode::INT_VAR_REGRET_MIN_MIN, Gecode::INT_VAR_REGRET_MIN_MAX, Gecode::INT_VAR_REGRET_MAX_MIN, Gecode::INT_VAR_REGRET_MAX_MAX
}
 

Which variable to select for branching.

More...
enum  Gecode::IntValBranch {
  Gecode::INT_VAL_MIN, Gecode::INT_VAL_MED, Gecode::INT_VAL_MAX, Gecode::INT_VAL_RND,
  Gecode::INT_VAL_SPLIT_MIN, Gecode::INT_VAL_SPLIT_MAX, Gecode::INT_VAL_RANGE_MIN, Gecode::INT_VAL_RANGE_MAX,
  Gecode::INT_VALUES_MIN, Gecode::INT_VALUES_MAX
}
 

Which values to select first for branching.

More...
enum  Gecode::IntAssign { Gecode::INT_ASSIGN_MIN, Gecode::INT_ASSIGN_MED, Gecode::INT_ASSIGN_MAX, Gecode::INT_ASSIGN_RND }
 

Which value to select for assignment.

More...

Functions

bool Gecode::Int::Limits::valid (int n)
 Return whether integer n is in range.
bool Gecode::Int::Limits::valid (double n)
 Return whether double n is in range.
void Gecode::Int::Limits::check (int n, const char *l)
 Check whether integer n is in range, otherwise throw out of limits with information l.
void Gecode::Int::Limits::check (double n, const char *l)
 Check whether double n is in integer range, otherwise throw out of limits exception with information l.
void Gecode::Int::Limits::positive (int n, const char *l)
 Check whether integer n is in range and strictly positive, otherwise throw out of limits with information l.
void Gecode::Int::Limits::positive (double n, const char *l)
 Check whether double n is in integer range and strictly postive, otherwise throw out of limits exception with information l.
void Gecode::Int::Limits::nonnegative (int n, const char *l)
 Check whether integer n is in range and nonnegative, otherwise throw out of limits with information l.
void Gecode::Int::Limits::nonnegative (double n, const char *l)
 Check whether double n is in integer range and nonnegative, otherwise throw out of limits exception with information l.
void Gecode::Int::Limits::double_check (double n, const char *l)
 Check whether double n is in exactly representable range, otherwise throw out of limits with information l.
void Gecode::dom (Home home, IntVar x, int n, IntConLevel icl=ICL_DEF)
 Propagates $x=n$.
void Gecode::dom (Home home, const IntVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i=n$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, int l, int m, IntConLevel icl=ICL_DEF)
 Propagates $ l\leq x\leq m$.
void Gecode::dom (Home home, const IntVarArgs &x, int l, int m, IntConLevel icl=ICL_DEF)
 Propagates $ l\leq x_i\leq m$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x\in s $.
void Gecode::dom (Home home, const IntVarArgs &x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x_i\in s$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x=n) \Leftrightarrow b$.
void Gecode::dom (Home home, IntVar x, int l, int m, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (l\leq x \leq m) \Leftrightarrow b$.
void Gecode::dom (Home home, IntVar x, const IntSet &s, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x \in s) \Leftrightarrow b$.
void Gecode::rel (Home home, IntVar x0, IntRelType r, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_r x_1$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r c$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_r c $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 \sim_r x_1)\Leftrightarrow b$.
void Gecode::rel (Home home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_r c)\Leftrightarrow b$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF)
 Post propagator for relation among elements in x.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for relation between x and y.
void Gecode::rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_0 \sim_r x_1$.
void Gecode::rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x_0 \sim_r x_1)\Leftrightarrow b$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, BoolVar y, IntConLevel icl=ICL_DEF)
 Post doamin consistent propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, BoolVar x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r n$.
void Gecode::rel (Home home, BoolVar x, IntRelType r, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x \sim_r n)\Leftrightarrow b$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_r n $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, const BoolVarArgs &y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between elements in x.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::precede (Home home, const IntVarArgs &x, int s, int t, IntConLevel=ICL_DEF)
 Post propagator that s precedes t in x.
void Gecode::precede (Home home, const IntVarArgs &x, const IntArgs &c, IntConLevel=ICL_DEF)
 Post propagator that successive values in c precede each other in x.
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$.
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$.
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\Leftrightarrow b$.
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\Leftrightarrow b$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, int x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, const IntVarArgs &a, IntVar x, int w, IntVar y, int h, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, const BoolVarArgs &a, IntVar x, int w, IntVar y, int h, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::distinct (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i+n_i\neq x_j+n_j$ for all $0\leq i\neq j<|x|$.
void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, BoolVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$.
void Gecode::channel (Home home, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$.
void Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$.
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator that y is x sorted in increasing order.
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntConLevel icl=ICL_DEF)
 Post propagator that y is x sorted in increasing order.
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_r m$.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_r m$.
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_r m$.
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_r m$.
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_r z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_r z$.
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_r z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_r z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType r, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType r, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void Gecode::sequence (Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntConLevel icl=ICL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$.
void Gecode::sequence (Home home, const BoolVarArgs &x, const IntSet &s, int q, int l, int u, IntConLevel icl=ICL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$.
void Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$.
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$.
void Gecode::min (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min\{x_0,x_1\}=x_2$.
void Gecode::min (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min x=y$.
void Gecode::max (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max\{x_0,x_1\}=x_2$.
void Gecode::max (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max x=y$.
void Gecode::abs (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ |x_0|=x_1$.
void Gecode::mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\cdot x_1=x_2$.
void Gecode::sqr (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\cdot x_0=x_1$.
void Gecode::sqrt (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $\lfloor\sqrt{x_0}\rfloor=x_1$.
void Gecode::divmod (Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3$.
void Gecode::div (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2$.
void Gecode::mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{mod}\ x_1=x_2$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r c\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r y\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r c\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r y\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c\right)\Leftrightarrow b$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y\right)\Leftrightarrow b$.
void Gecode::binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntConLevel icl=ICL_DEF)
 Post propagator for bin packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, const BoolVarArgs &o, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::circuit (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit.
void Gecode::circuit (Home home, int offset, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit.
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with costs y and z.
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with costs y and z.
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with cost z.
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with cost z.
void Gecode::path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path.
void Gecode::path (Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path.
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z.
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z.
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z.
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z.
void Gecode::wait (Home home, IntVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned.
void Gecode::wait (Home home, BoolVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned.
void Gecode::wait (Home home, const IntVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned.
void Gecode::wait (Home home, const BoolVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned.
void Gecode::when (Home home, BoolVar x, void(*t)(Space &home), void(*e)(Space &home)=NULL, IntConLevel icl=ICL_DEF)
 Execute t (then) when x is assigned one, and e (else) otherwise.
void Gecode::unshare (Home home, IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables.
void Gecode::unshare (Home home, BoolVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables.
void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const IntVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, IntVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, BoolVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign all x with value selection vals.
void Gecode::assign (Home home, IntVar x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign x with value selection vals.
void Gecode::assign (Home home, const BoolVarArgs &x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign all x with value selection vals.
void Gecode::assign (Home home, BoolVar x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign x with value selection vals.

Variables

const int Gecode::Int::Limits::max = INT_MAX - 1
 Largest allowed integer value.
const int Gecode::Int::Limits::min = -max
 Smallest allowed integer value.
const int Gecode::Int::Limits::infinity = max + 1
 Infinity.
const double Gecode::Int::Limits::double_max = 9007199254740991.0
 Largest double that can exactly be represented.
const double Gecode::Int::Limits::double_min = -9007199254740991.0
 Smallest double that can exactly be represented.
const double Gecode::Int::Limits::double_infinity = DBL_MAX
 Infinity value for doubles.

Define Documentation

#define GECODE_INT_EXPORT

Definition at line 76 of file int.hh.

#define GECODE_LIBRARY_NAME   "Int"

Definition at line 83 of file int.hh.