Mercurial > hg > Members > Moririn
comparison src/parallel_execution/context.h @ 147:f2275f5777f4
add treeRotate data
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 10 Nov 2016 10:35:48 +0900 |
parents | cc071cf1ba85 |
children | 473b7d990a1f |
comparison
equal
deleted
inserted
replaced
146:423141c31664 | 147:f2275f5777f4 |
---|---|
115 Allocate, | 115 Allocate, |
116 SingleLinkedStack, | 116 SingleLinkedStack, |
117 Stack, | 117 Stack, |
118 Tree, | 118 Tree, |
119 Traverse, | 119 Traverse, |
120 RotateTree, | |
120 Node, | 121 Node, |
121 LoopCounter, | 122 LoopCounter, |
122 Time, | 123 Time, |
123 Element, | 124 Element, |
124 ActiveQueue, | 125 ActiveQueue, |
215 struct Tree { | 216 struct Tree { |
216 struct Node* root; | 217 struct Node* root; |
217 } tree; | 218 } tree; |
218 struct Traverse { | 219 struct Traverse { |
219 enum Code next; | 220 enum Code next; |
220 enum Code rotateNext; | |
221 struct Node* current; // reading node of original tree | 221 struct Node* current; // reading node of original tree |
222 struct Node* previous; // parent of reading node of original tree | 222 struct Node* previous; // parent of reading node of original tree |
223 struct Node* newNode; // writing node of new tree | 223 struct Node* newNode; // writing node of new tree |
224 struct Node* parent; | 224 struct Node* parent; |
225 struct Node* grandparent; | 225 struct Node* grandparent; |
226 struct Stack* nodeStack; | 226 struct Stack* nodeStack; |
227 int result; | 227 int result; |
228 } traverse; | 228 } traverse; |
229 struct RotateTree { | |
230 enum Code next; | |
231 struct Traverse* traverse; | |
232 struct Tree* tree; | |
233 } rotateTree; | |
229 struct Node { | 234 struct Node { |
230 int key; // comparable data segment | 235 int key; // comparable data segment |
231 union Data* value; | 236 union Data* value; |
232 struct Node* left; | 237 struct Node* left; |
233 struct Node* right; | 238 struct Node* right; |
244 struct OutPutDataSegments { | 249 struct OutPutDataSegments { |
245 union Data **data; | 250 union Data **data; |
246 } ods; | 251 } ods; |
247 }; | 252 }; |
248 | 253 |
254 // typedef struct RotateTree D_RotateTree; | |
255 | |
249 union MetaData { | 256 union MetaData { |
250 struct Queue waitMeTasks; | 257 struct Queue waitMeTasks; |
251 struct Queue waitI; | 258 struct Queue waitI; |
252 }; | 259 }; |
253 #endif | 260 #endif |