00001
00002 #ifndef QECODE_MYDOM
00003 #define QECODE_MYDOM
00004 #include "gecode/minimodel.hh"
00005 using namespace Gecode;
00006 using namespace Gecode::Int;
00007 using namespace std;
00008
00009 void myAntidom_int(Space* home, IntVar x, const IntSet& is, IntConLevel) {
00010 if (home->failed()) return;
00011 IntView xv(x);
00012 IntSetRanges ris(is);
00013 GECODE_ME_FAIL(home,xv.minus_r(home,ris));
00014 }
00015
00016 void myAntidom_bool(Space* home, BoolVar x, const IntSet& is, IntConLevel) {
00017 if (home->failed()) return;
00018 BoolView xv(x);
00019 IntSetRanges ris(is);
00020 GECODE_ME_FAIL(home,xv.minus_r(home,ris));
00021 }
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #endif