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

Function ann2bvarsel

gecode/flatzinc/flatzinc.cpp:518–550  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

516 }
517
518 TieBreak<BoolVarBranch> ann2bvarsel(AST::Node* ann, Rnd rnd, double decay) {
519 if (AST::Atom* s = dynamic_cast<AST::Atom*>(ann)) {
520 if ((s->id == "input_order") ||
521 (s->id == "first_fail") ||
522 (s->id == "anti_first_fail") ||
523 (s->id == "smallest") ||
524 (s->id == "largest") ||
525 (s->id == "max_regret"))
526 return TieBreak<BoolVarBranch>(BOOL_VAR_NONE());
527 if ((s->id == "occurrence") ||
528 (s->id == "most_constrained"))
529 return TieBreak<BoolVarBranch>(BOOL_VAR_DEGREE_MAX());
530 if (s->id == "random")
531 return TieBreak<BoolVarBranch>(BOOL_VAR_RND(rnd));
532 if ((s->id == "afc_min") ||
533 (s->id == "afc_size_min"))
534 return TieBreak<BoolVarBranch>(BOOL_VAR_AFC_MIN(decay));
535 if ((s->id == "afc_max") ||
536 (s->id == "afc_size_max") ||
537 (s->id == "dom_w_deg"))
538 return TieBreak<BoolVarBranch>(BOOL_VAR_AFC_MAX(decay));
539 if ((s->id == "action_min") &&
540 (s->id == "action_size_min"))
541 return TieBreak<BoolVarBranch>(BOOL_VAR_ACTION_MIN(decay));
542 if ((s->id == "action_max") ||
543 (s->id == "action_size_max"))
544 return TieBreak<BoolVarBranch>(BOOL_VAR_ACTION_MAX(decay));
545 }
546 std::cerr << "Warning, ignored search annotation: ";
547 ann->print(std::cerr);
548 std::cerr << std::endl;
549 return TieBreak<BoolVarBranch>(BOOL_VAR_NONE());
550 }
551
552 BoolValBranch ann2bvalsel(AST::Node* ann, std::string& r0, std::string& r1,
553 Rnd rnd) {

Callers 1

createBranchersMethod · 0.85

Calls 8

BOOL_VAR_NONEFunction · 0.85
BOOL_VAR_DEGREE_MAXFunction · 0.85
BOOL_VAR_RNDFunction · 0.85
BOOL_VAR_AFC_MINFunction · 0.85
BOOL_VAR_AFC_MAXFunction · 0.85
BOOL_VAR_ACTION_MINFunction · 0.85
BOOL_VAR_ACTION_MAXFunction · 0.85
printMethod · 0.45

Tested by

no test coverage detected