14 int action_array[2][NUM_NODE_TYPES+1];
16 Opt(OptType _type) : type(_type) {}
23 int action(
int openDecision, GenericTreeNode *node){
24 return action_array[openDecision][node->getType()];
26 OptType getSelfType() {
return type;}
36 action_array[0][Bucket] = DUMP;
37 action_array[0][Internal] = DUMP;
45 action_array[0][Boundary] = DUMP;
47 action_array[0][NonLocal] = COMPUTE;
48 action_array[0][NonLocalBucket] = DUMP;
51 action_array[0][Cached] = COMPUTE;
52 action_array[0][CachedBucket] = COMPUTE;
54 action_array[0][CachedEmpty] = DUMP;
56 action_array[0][Empty] = DUMP;
57 action_array[0][Top] = ERROR;
58 action_array[0][Invalid] = ERROR;
63 action_array[1][Internal] = DUMP;
64 action_array[1][Bucket] = DUMP;
67 action_array[1][NonLocal] = KEEP;
68 action_array[1][NonLocalBucket] = KEEP_REMOTE_BUCKET;
69 action_array[1][Boundary] = KEEP;
71 action_array[1][Cached] = KEEP;
72 action_array[1][CachedBucket] = KEEP_REMOTE_BUCKET;
75 action_array[1][CachedEmpty] = DUMP;
77 action_array[1][Top] = ERROR;
78 action_array[1][Invalid] = ERROR;
79 action_array[1][Empty] = DUMP;
91 action_array[0][Internal] = COMPUTE;
92 action_array[0][Bucket] = COMPUTE;
94 action_array[0][Boundary] = COMPUTE;
96 action_array[0][NonLocal] = DUMP;
97 action_array[0][NonLocalBucket] = COMPUTE;
99 action_array[0][Cached] = DUMP;
100 action_array[0][CachedBucket] = DUMP;
103 action_array[0][Empty] = DUMP;
104 action_array[0][CachedEmpty] = DUMP;
105 action_array[0][Top] = ERROR;
106 action_array[0][Invalid] = ERROR;
110 action_array[1][Internal] = KEEP;
111 action_array[1][Bucket] = KEEP_LOCAL_BUCKET;
112 action_array[1][Boundary] = KEEP;
115 action_array[1][NonLocal] = DUMP;
116 action_array[1][NonLocalBucket] = DUMP;
118 action_array[1][CachedBucket] = DUMP;
119 action_array[1][Cached] = DUMP;
122 action_array[1][Empty] = DUMP;
123 action_array[1][CachedEmpty] = DUMP;
124 action_array[1][Top] = ERROR;
125 action_array[1][Invalid] = ERROR;
137 action_array[0][Internal] = COMPUTE;
138 action_array[0][Bucket] = COMPUTE;
140 action_array[0][Boundary] = KEEP;
142 action_array[0][NonLocal] = DUMP;
143 action_array[0][NonLocalBucket] = DUMP;
145 action_array[0][Cached] = DUMP;
146 action_array[0][CachedBucket] = DUMP;
149 action_array[0][Empty] = DUMP;
150 action_array[0][CachedEmpty] = DUMP;
151 action_array[0][Top] = ERROR;
152 action_array[0][Invalid] = ERROR;
156 action_array[1][Internal] = KEEP;
157 action_array[1][Bucket] = KEEP_LOCAL_BUCKET;
158 action_array[1][Boundary] = KEEP;
161 action_array[1][NonLocal] = DUMP;
162 action_array[1][NonLocalBucket] = DUMP;
164 action_array[1][CachedBucket] = DUMP;
165 action_array[1][Cached] = DUMP;
168 action_array[1][Empty] = DUMP;
169 action_array[1][CachedEmpty] = DUMP;
170 action_array[1][Top] = ERROR;
171 action_array[1][Invalid] = ERROR;
181 for(
int i = 1; i <= NUM_NODE_TYPES; i++)
182 action_array[0][i] = DUMP;
183 action_array[0][Invalid] = ERROR;
184 action_array[0][Top] = ERROR;
186 action_array[1][Internal] = DUMP;
187 action_array[1][Bucket] = DUMP;
189 action_array[1][Boundary] = KEEP;
192 action_array[1][NonLocal] = KEEP;
193 action_array[1][NonLocalBucket] = KEEP_REMOTE_BUCKET;
194 action_array[1][Cached] = KEEP;
195 action_array[1][CachedBucket] = KEEP_REMOTE_BUCKET;
197 action_array[1][CachedEmpty] = DUMP;
198 action_array[1][Empty] = DUMP;
199 action_array[1][Invalid] = ERROR;
200 action_array[1][Top] = ERROR;
Optimization for Prefetch walk.
Definition: Opt.h:178
Class for optimizing remote gravity walk actions.
Definition: Opt.h:30
int action(int openDecision, GenericTreeNode *node)
Definition: Opt.h:23
Class for optimizing local gravity walk actions.
Definition: Opt.h:86
Class for optimizing experimental "push" gravity walk actions.
Definition: Opt.h:132
Base class for optimizing walk actions.
Definition: Opt.h:12