50 for (
int i =
size();
i--; )
55 int lbMin,
int lbMax,
int ubMin,
int ubMax,
64 unsigned int glbSize =
65 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
66 unsigned int lubSize =
67 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
68 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
69 lbMin < ubMin || lbMax > ubMax)
71 for (
int i =
size();
i--; )
72 x[
i] =
SetVar(home,lbMin,lbMax,ubMin,ubMax,minCard,maxCard);
76 const IntSet& glb,
int ubMin,
int ubMax,
77 unsigned int minCard,
unsigned int maxCard)
85 unsigned int lubSize =
86 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
87 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
88 glb.
min() < ubMin || glb.
max() > ubMax)
90 for (
int i =
size();
i--; )
91 x[
i] =
SetVar(home,glb,ubMin,ubMax,minCard,maxCard);
95 int lbMin,
int lbMax,
const IntSet& lub,
96 unsigned int minCard,
unsigned int maxCard)
105 unsigned int glbSize =
106 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
108 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
111 for (
int i =
size();
i--; )
112 x[
i] =
SetVar(home,lbMin,lbMax,lub,minCard,maxCard);
117 unsigned int minCard,
unsigned int maxCard)
128 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
131 for (
int i =
size();
i--; )
132 x[
i] =
SetVar(home,glb,lub,minCard,maxCard);
136 int lbMin,
int lbMax,
int ubMin,
int ubMax,
137 unsigned int minCard,
138 unsigned int maxCard)
145 unsigned int glbSize =
146 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
147 unsigned int lubSize =
148 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
149 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
150 lbMin < ubMin || lbMax > ubMax)
152 for (
int i =
size();
i--; )
153 a[
i] =
SetVar(home,lbMin,lbMax,ubMin,ubMax,minCard,maxCard);
157 const IntSet& glb,
int ubMin,
int ubMax,
158 unsigned int minCard,
unsigned int maxCard)
166 unsigned int lubSize =
167 (ubMin <= ubMax ? static_cast<unsigned int>(ubMax-ubMin+1) : 0U);
168 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
169 glb.
min() < ubMin || glb.
max() > ubMax)
171 for (
int i =
size();
i--; )
172 a[
i] =
SetVar(home,glb,ubMin,ubMax,minCard,maxCard);
176 int lbMin,
int lbMax,
const IntSet& lub,
177 unsigned int minCard,
unsigned int maxCard)
186 unsigned int glbSize =
187 (lbMin <= lbMax ? static_cast<unsigned int>(lbMax-lbMin+1) : 0U);
189 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
192 for (
int i =
size();
i--; )
193 a[
i] =
SetVar(home,lbMin,lbMax,lub,minCard,maxCard);
198 unsigned int minCard,
unsigned int maxCard)
209 if (minCard > maxCard || minCard > lubSize || maxCard < glbSize ||
212 for (
int i =
size();
i--; )
213 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...
Range iterator for singleton range.
Range iterator for integer sets.
int size(void) const
Return size of array (number of elements)
Gecode::IntArgs i(4, 1, 2, 3, 4)
Exception: Variable created with empty domain
int n
Number of negative literals for node type.
SetVar * x
Array of variables.
unsigned int size(I &i)
Size of all ranges of range iterator i.
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.
int size(void) const
Return size of array (number of elements)
int max(int i) const
Return maximum of range at position i.
int min(int i) const
Return minimum of range at position i.