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