Perform creation and registration
| 262 | public: |
| 263 | /// Perform creation and registration |
| 264 | Create(void) { |
| 265 | using namespace Gecode; |
| 266 | { |
| 267 | IntSet d1(-2,2); |
| 268 | const int dv2[] = {-4,-1,0,1,4}; |
| 269 | IntSet d2(dv2,5); |
| 270 | |
| 271 | const int dv3[] = {0,1500000000}; |
| 272 | IntSet d3(dv3,2); |
| 273 | |
| 274 | IntArgs a1({0}); |
| 275 | |
| 276 | for (IntRelTypes irts; irts(); ++irts) { |
| 277 | (void) new IntInt("11",d1,a1,irts.irt(),0); |
| 278 | (void) new IntVar("11",d1,a1,irts.irt()); |
| 279 | (void) new IntInt("21",d2,a1,irts.irt(),0); |
| 280 | (void) new IntVar("21",d2,a1,irts.irt()); |
| 281 | (void) new IntInt("31",d3,a1,irts.irt(),150000000); |
| 282 | } |
| 283 | (void) new IntInt("11",d1,a1,IRT_EQ,0,IPL_DOM); |
| 284 | (void) new IntVar("11",d1,a1,IRT_EQ,IPL_DOM); |
| 285 | (void) new IntInt("21",d2,a1,IRT_EQ,0,IPL_DOM); |
| 286 | (void) new IntVar("21",d2,a1,IRT_EQ,IPL_DOM); |
| 287 | |
| 288 | const int av2[5] = {1,1,1,1,1}; |
| 289 | const int av3[5] = {1,-1,-1,1,-1}; |
| 290 | const int av4[5] = {2,3,5,7,11}; |
| 291 | const int av5[5] = {-2,3,-5,7,-11}; |
| 292 | |
| 293 | |
| 294 | for (int i=1; i<=5; i++) { |
| 295 | IntArgs a2(i, av2); |
| 296 | IntArgs a3(i, av3); |
| 297 | IntArgs a4(i, av4); |
| 298 | IntArgs a5(i, av5); |
| 299 | for (IntRelTypes irts; irts(); ++irts) { |
| 300 | (void) new IntInt("12",d1,a2,irts.irt(),0); |
| 301 | (void) new IntInt("13",d1,a3,irts.irt(),0); |
| 302 | (void) new IntInt("14",d1,a4,irts.irt(),0); |
| 303 | (void) new IntInt("15",d1,a5,irts.irt(),0); |
| 304 | (void) new IntInt("22",d2,a2,irts.irt(),0); |
| 305 | (void) new IntInt("23",d2,a3,irts.irt(),0); |
| 306 | (void) new IntInt("24",d2,a4,irts.irt(),0); |
| 307 | (void) new IntInt("25",d2,a5,irts.irt(),0); |
| 308 | (void) new IntInt("32",d3,a2,irts.irt(),1500000000); |
| 309 | if (i < 5) { |
| 310 | (void) new IntVar("12",d1,a2,irts.irt()); |
| 311 | (void) new IntVar("13",d1,a3,irts.irt()); |
| 312 | (void) new IntVar("14",d1,a4,irts.irt()); |
| 313 | (void) new IntVar("15",d1,a5,irts.irt()); |
| 314 | (void) new IntVar("22",d2,a2,irts.irt()); |
| 315 | (void) new IntVar("23",d2,a3,irts.irt()); |
| 316 | (void) new IntVar("24",d2,a4,irts.irt()); |
| 317 | (void) new IntVar("25",d2,a5,irts.irt()); |
| 318 | } |
| 319 | } |
| 320 | (void) new IntInt("12",d1,a2,IRT_EQ,0,IPL_DOM); |
| 321 | (void) new IntInt("13",d1,a3,IRT_EQ,0,IPL_DOM); |