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

Function viewsel

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

Source from the content-addressed store, hash-verified

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