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

Function viewsel

gecode/int/branch/view-sel.cpp:38–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36namespace Gecode { namespace Int { namespace Branch {
37
38 ViewSel<IntView>*
39 viewsel(Space& home, const IntVarBranch& ivb) {
40 switch (ivb.select()) {
41 case IntVarBranch::SEL_NONE:
42 return new (home) ViewSelNone<IntView>(home,ivb);
43 case IntVarBranch::SEL_RND:
44 return new (home) ViewSelRnd<IntView>(home,ivb);
45 default: break;
46 }
47 if (ivb.tbl() != nullptr) {
48 switch (ivb.select()) {
49 case IntVarBranch::SEL_MERIT_MIN:
50 return new (home) ViewSelMinTbl<MeritFunction<IntView>>(home,ivb);
51 case IntVarBranch::SEL_MERIT_MAX:
52 return new (home) ViewSelMaxTbl<MeritFunction<IntView>>(home,ivb);
53 case IntVarBranch::SEL_MIN_MIN:
54 return new (home) ViewSelMinTbl<MeritMin<IntView>>(home,ivb);
55 case IntVarBranch::SEL_MIN_MAX:
56 return new (home) ViewSelMaxTbl<MeritMin<IntView>>(home,ivb);
57 case IntVarBranch::SEL_MAX_MIN:
58 return new (home) ViewSelMinTbl<MeritMax<IntView>>(home,ivb);
59 case IntVarBranch::SEL_MAX_MAX:
60 return new (home) ViewSelMaxTbl<MeritMax<IntView>>(home,ivb);
61 case IntVarBranch::SEL_SIZE_MIN:
62 return new (home) ViewSelMinTbl<MeritSize<IntView>>(home,ivb);
63 case IntVarBranch::SEL_SIZE_MAX:
64 return new (home) ViewSelMaxTbl<MeritSize<IntView>>(home,ivb);
65 case IntVarBranch::SEL_DEGREE_MIN:
66 return new (home) ViewSelMinTbl<MeritDegree<IntView>>(home,ivb);
67 case IntVarBranch::SEL_DEGREE_MAX:
68 return new (home) ViewSelMaxTbl<MeritDegree<IntView>>(home,ivb);
69 case IntVarBranch::SEL_AFC_MIN:
70 return new (home) ViewSelMinTbl<MeritAFC<IntView>>(home,ivb);
71 case IntVarBranch::SEL_AFC_MAX:
72 return new (home) ViewSelMaxTbl<MeritAFC<IntView>>(home,ivb);
73 case IntVarBranch::SEL_ACTION_MIN:
74 return new (home) ViewSelMinTbl<MeritAction<IntView>>(home,ivb);
75 case IntVarBranch::SEL_ACTION_MAX:
76 return new (home) ViewSelMaxTbl<MeritAction<IntView>>(home,ivb);
77 case IntVarBranch::SEL_CHB_MIN:
78 return new (home) ViewSelMinTbl<MeritCHB<IntView>>(home,ivb);
79 case IntVarBranch::SEL_CHB_MAX:
80 return new (home) ViewSelMaxTbl<MeritCHB<IntView>>(home,ivb);
81 case IntVarBranch::SEL_DEGREE_SIZE_MIN:
82 return new (home) ViewSelMinTbl<MeritDegreeSize<IntView>>(home,ivb);
83 case IntVarBranch::SEL_DEGREE_SIZE_MAX:
84 return new (home) ViewSelMaxTbl<MeritDegreeSize<IntView>>(home,ivb);
85 case IntVarBranch::SEL_AFC_SIZE_MIN:
86 return new (home) ViewSelMinTbl<MeritAFCSize<IntView>>(home,ivb);
87 case IntVarBranch::SEL_AFC_SIZE_MAX:
88 return new (home) ViewSelMaxTbl<MeritAFCSize<IntView>>(home,ivb);
89 case IntVarBranch::SEL_ACTION_SIZE_MIN:
90 return new (home) ViewSelMinTbl<MeritActionSize<IntView>>(home,ivb);
91 case IntVarBranch::SEL_ACTION_SIZE_MAX:
92 return new (home) ViewSelMaxTbl<MeritActionSize<IntView>>(home,ivb);
93 case IntVarBranch::SEL_CHB_SIZE_MIN:
94 return new (home) ViewSelMinTbl<MeritCHBSize<IntView>>(home,ivb);
95 case IntVarBranch::SEL_CHB_SIZE_MAX:

Callers 3

branchFunction · 0.50
branchFunction · 0.50
assignFunction · 0.50

Calls 2

tblMethod · 0.80
selectMethod · 0.45

Tested by

no test coverage detected