38 namespace Gecode {
namespace Int {
44 template<
class Val,
class UnsVal>
47 return static_cast<Val
>(floor(y /
a));
50 template<
class Val,
class UnsVal>
53 return static_cast<Val
>(ceil(y /
a));
56 template<
class Val,
class UnsVal>
61 exact =
true;
return static_cast<Val
>(ya);
63 exact =
false;
return 0;
67 #if GECODE_INT_RND_TWDS_ZERO
69 template<
class Val,
class UnsVal>
72 return ((y >= 0) ? y : (y-
a+1))/
a;
75 template<
class Val,
class UnsVal>
78 return ((y >= 0) ? (y+
a-1) : y)/
a;
81 template<
class Val,
class UnsVal>
86 exact =
true;
return ya;
88 exact =
false;
return 0;
99 template<
class Val,
class UnsVal>
103 template<
class Val,
class UnsVal>
113 template<
class Val,
class UnsVal>
118 template<
class Val,
class UnsVal>
121 Val
c = x.
min(); c *=
a;
return c;
124 template<
class Val,
class UnsVal>
127 Val
c = x.
max(); c *=
a;
return c;
130 template<
class Val,
class UnsVal>
133 Val
c = x.med(); c *=
a;
return c;
136 template<
class Val,
class UnsVal>
139 Val
c = x.val(); c *=
a;
return c;
142 template<
class Val,
class UnsVal>
145 return static_cast<UnsVal
>(x.size());
148 template<
class Val,
class UnsVal>
151 UnsVal
c = x.
width(); c *=
a;
return c;
154 template<
class Val,
class UnsVal>
157 UnsVal
c = x.regret_min(); c *=
a;
return c;
160 template<
class Val,
class UnsVal>
163 UnsVal
c = x.regret_max(); c *=
a;
return c;
171 template<
class Val,
class UnsVal>
176 template<
class Val,
class UnsVal>
180 int nda = exact_div(n, exact);
181 return exact && x.in(nda);
191 template<
class Val,
class UnsVal>
197 template<
class Val,
class UnsVal>
203 template<
class Val,
class UnsVal>
208 template<
class Val,
class UnsVal>
214 template<
class Val,
class UnsVal>
218 int nda = exact_div(n,exact);
222 template<
class Val,
class UnsVal>
226 int nda = exact_div(n,exact);
235 template<
class Val,
class UnsVal>
247 template<
class Val,
class UnsVal>
250 Val
c = x.
min(d); c *=
a;
return c;
252 template<
class Val,
class UnsVal>
255 Val
c = x.
max(d); c *=
a;
return c;
257 template<
class Val,
class UnsVal>
269 template<
class Val,
class UnsVal>
353 template<
class Val,
class UnsVal>
358 template<
class Val,
class UnsVal>