MCPcopy Create free account
hub / github.com/Gecode/gecode / run

Method run

test/branch.cpp:434–602  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

432 }
433
434 bool
435 IntTest::run(void) {
436 using std::map;
437 using std::vector;
438 using std::string;
439 using std::ostream;
440 using namespace Gecode;
441
442 // Results of tests run
443 map<int, vector<RunInfo> > results;
444 // Set up root space
445 IntTestSpace* root = new IntTestSpace(arity,dom);
446 post(*root, root->x);
447 results.clear();
448
449 IntArgs d(arity);
450 for (int i=arity; i--; )
451 d[i]=i;
452
453 for (int vara = 0; vara<n_int_var_branch; vara++) {
454 for (int varb = 1; varb<n_int_var_branch; varb++) {
455 for (int val = 0; val<n_int_val_branch; val++) {
456 Rnd r(1);
457
458 IntValBranch ivb;
459 switch (val) {
460 case 0: ivb = INT_VAL_MIN(); break;
461 case 1: ivb = INT_VAL_MED(); break;
462 case 2: ivb = INT_VAL_MAX(); break;
463 case 3: ivb = INT_VAL_RND(r); break;
464 case 4: ivb = INT_VAL_SPLIT_MIN(); break;
465 case 5: ivb = INT_VAL_SPLIT_MAX(); break;
466 case 6: ivb = INT_VAL_RANGE_MIN(); break;
467 case 7: ivb = INT_VAL_RANGE_MAX(); break;
468 case 8: ivb = INT_VAL(&int_val); break;
469 case 9: ivb = INT_VALUES_MIN(); break;
470 case 10: ivb = INT_VALUES_MAX(); break;
471 }
472
473 IntTestSpace* c = static_cast<IntTestSpace*>(root->clone());
474
475 if ((vara == 0) && (val < 11)) {
476 for (int i=0; i<c->x.size(); i++)
477 branch(*c, c->x[i], ivb);
478 } else {
479 Rnd ra(1);
480 IntVarBranch ivba;
481 IntAction iaa(*c, c->x, 0.9);
482 IntCHB ica(*c, c->x);
483 switch (vara) {
484 case 0: ivba = INT_VAR_NONE(); break;
485 case 1: ivba = INT_VAR_NONE(); break;
486 case 2: ivba = INT_VAR_RND(ra); break;
487 case 3: ivba = INT_VAR_MERIT_MIN(&int_merit); break;
488 case 4: ivba = INT_VAR_MERIT_MAX(&int_merit); break;
489 case 5: ivba = INT_VAR_DEGREE_MIN(); break;
490 case 6: ivba = INT_VAR_DEGREE_MAX(); break;
491 case 7: ivba = INT_VAR_AFC_MIN(0.5); break;

Callers

nothing calls this directly

Calls 15

INT_VAL_MINFunction · 0.85
INT_VAL_MEDFunction · 0.85
INT_VAL_MAXFunction · 0.85
INT_VAL_RNDFunction · 0.85
INT_VAL_SPLIT_MINFunction · 0.85
INT_VAL_SPLIT_MAXFunction · 0.85
INT_VAL_RANGE_MINFunction · 0.85
INT_VAL_RANGE_MAXFunction · 0.85
INT_VALFunction · 0.85
INT_VALUES_MINFunction · 0.85
INT_VALUES_MAXFunction · 0.85
INT_VAR_NONEFunction · 0.85

Tested by

no test coverage detected