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);
SetVarArray(void)
Default constructor (array of size 0)
void check(int n, const char *l)
Check whether integer n is in range, otherwise throw overflow exception with information l...
int size(void) const
Return size of array (number of elements)
Range iterator for singleton range.
Range iterator for integer sets.
int size(void) const
Return size of array (number of elements)
int min(int i) const
Return minimum of range at position i.
Exception: Variable created with empty domain
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
SetVar * x
Array of variables.
int max(int i) const
Return maximum of range at position i.
unsigned int size(I &i)
Size of all ranges of range iterator i.
int n
Number of variables (size)
SetVarArgs(void)
Allocate empty array.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
Gecode toplevel namespace
Argument array for variables.