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

Function viewsel

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

Source from the content-addressed store, hash-verified

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

Callers 2

branchFunction · 0.50
assignFunction · 0.50

Calls 2

tblMethod · 0.80
selectMethod · 0.45

Tested by

no test coverage detected