46 for (
int i =
size();
i--; )
51 int lbMin,
int lbMax,
int ubMin,
int ubMax,
60 unsigned int glbSize =
61 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
62 unsigned int lubSize =
63 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
64 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
65 lbMin < ubMin || lbMax > ubMax)
67 for (
int i =
size();
i--; )
68 x[
i] =
SetVar(home,lbMin,lbMax,ubMin,ubMax,minCard,maxCard);
72 const IntSet& glb,
int ubMin,
int ubMax,
73 unsigned int minCard,
unsigned int maxCard)
81 unsigned int lubSize =
82 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
83 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
84 glb.
min() < ubMin || glb.
max() > ubMax)
86 for (
int i =
size();
i--; )
87 x[
i] =
SetVar(home,glb,ubMin,ubMax,minCard,maxCard);
91 int lbMin,
int lbMax,
const IntSet& lub,
92 unsigned int minCard,
unsigned int maxCard)
101 unsigned int glbSize =
102 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
104 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
107 for (
int i =
size();
i--; )
108 x[
i] =
SetVar(home,lbMin,lbMax,lub,minCard,maxCard);
113 unsigned int minCard,
unsigned int maxCard)
124 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
127 for (
int i =
size();
i--; )
128 x[
i] =
SetVar(home,glb,lub,minCard,maxCard);
132 int lbMin,
int lbMax,
int ubMin,
int ubMax,
133 unsigned int minCard,
134 unsigned int maxCard)
141 unsigned int glbSize =
142 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
143 unsigned int lubSize =
144 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
145 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
146 lbMin < ubMin || lbMax > ubMax)
148 for (
int i =
size();
i--; )
149 a[
i] =
SetVar(home,lbMin,lbMax,ubMin,ubMax,minCard,maxCard);
153 const IntSet& glb,
int ubMin,
int ubMax,
154 unsigned int minCard,
unsigned int maxCard)
162 unsigned int lubSize =
163 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
164 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
165 glb.
min() < ubMin || glb.
max() > ubMax)
167 for (
int i =
size();
i--; )
168 a[
i] =
SetVar(home,glb,ubMin,ubMax,minCard,maxCard);
172 int lbMin,
int lbMax,
const IntSet& lub,
173 unsigned int minCard,
unsigned int maxCard)
182 unsigned int glbSize =
183 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
185 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
188 for (
int i =
size();
i--; )
189 a[
i] =
SetVar(home,lbMin,lbMax,lub,minCard,maxCard);
194 unsigned int minCard,
unsigned int maxCard)
205 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
208 for (
int i =
size();
i--; )
209 a[
i] =
SetVar(home,glb,lub,minCard,maxCard);
int n
Number of negative literals for node type.
int size(void) const
Return size of array (number of elements)
Range iterator for integer sets.
int min(int i) const
Return minimum of range at position i.
int max(int i) const
Return maximum of range at position i.
Exception: Variable created with empty domain
Range iterator for singleton range.
SetVarArgs(void)
Allocate empty array.
SetVarArray(void)
Default constructor (array of size 0)
Argument array for variables.
int size(void) const
Return size of array (number of elements)
SetVar * x
Array of variables.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
unsigned int size(I &i)
Size of all ranges of range iterator i.
void check(int n, const char *l)
Check whether integer n is in range, otherwise throw overflow exception with information l.
Gecode toplevel namespace
Gecode::IntArgs i({1, 2, 3, 4})