44 namespace Gecode {
namespace Int {
namespace Arithmetic {
52 mll(
long long int x,
long long int y) {
58 return static_cast<long long int>(
x);
63 return static_cast<long long int>(
x) + 1;
68 return static_cast<long long int>(
x) - 1;
87 return (x.min() <= 0) && (x.max() >= 0);
96 template<
class View, PropCond pc>
101 template<
class View, PropCond pc>
111 template<
class View, PropCond pc>
114 switch (
equal(x0,0)) {
121 switch (
equal(x1,1)) {
138 template<
class View, PropCond pc>
144 template<
class View, PropCond pc>
150 template<
class View, PropCond pc>
153 switch (
equal(x0,0)) {
160 switch (
equal(x1,1)) {
181 template<
class VA,
class VB,
class VC>
219 return x0.assigned() && x1.assigned() ?
223 template<
class VA,
class VB,
class VC>
229 template<
class VA,
class VB,
class VC>
236 template<
class VA,
class VB,
class VC>
242 template<
class VA,
class VB,
class VC>
245 return prop_mult_plus_bnd<VA,VB,VC>(home,*
this,x0,x1,x2);
248 template<
class VA,
class VB,
class VC>
284 s0.support(); s1.support();
296 template<
class VA,
class VB,
class VC>
302 template<
class VA,
class VB,
class VC>
309 template<
class VA,
class VB,
class VC>
315 template<
class VA,
class VB,
class VC>
325 template<
class VA,
class VB,
class VC>
332 IntView y0(x0.varimp()), y1(x1.varimp()), y2(x2.varimp());
333 return prop_mult_dom<IntView>(home,*
this,y0,y1,y2);
336 template<
class VA,
class VB,
class VC>