Mercurial > hg > Gears > Gears
changeset 1044:de1a04a1a9c6
...
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 11 Dec 2023 18:27:32 +0900 |
parents | 1098071e12b8 |
children | c39b60946452 |
files | src/parallel_execution/RedBlackTree.cbc |
diffstat | 1 files changed, 19 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parallel_execution/RedBlackTree.cbc Mon Dec 11 15:39:53 2023 +0900 +++ b/src/parallel_execution/RedBlackTree.cbc Mon Dec 11 18:27:32 2023 +0900 @@ -106,14 +106,14 @@ newNode->color = tree->current->color; newNode->right = tree->current->right; struct Stack* nodeStack = tree->nodeStack; - printf("leftDown"); + printf("leftDown\n"); goto nodeStack->push(newNode, leftDown1); } __code leftDown1(struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { struct Stack* nodeStack = tree->nodeStack; - printf("leftDown1"); - if (tree->current->left != NULL) { + printf("leftDown1\n"); + if (tree->current->left) { goto leftDown(tree->current->left, inputStack, outputStack); } else if (tree->current->right) { goto rightDown(tree->current->right, inputStack, outputStack); @@ -130,14 +130,14 @@ newNode->right = tree->current->right; tree->current = tree->current->right; struct Stack* nodeStack = tree->nodeStack; - printf("rightDown"); + printf("rightDown\n"); goto nodeStack->push(newNode, leftDown); } __code up(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { struct Stack* nodeStack = tree->nodeStack; struct Node* newNode = tree->newNode; - printf("up"); + printf("up\n"); if (node->left) { tree->current = node->right; node->left = newNode; @@ -149,29 +149,29 @@ } } +__code up1(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { + struct Stack* nodeStack = tree->nodeStack; + printf("up1\n"); + goto nodeStack->pop(up2); +} + +__code up2(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { + printf("up2\n"); + tree->current->right = node->right; + goto up(tree, inputStack, outputStack); +} + __code popWhenEmpty(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack, __code next(...)) { - printf("popWhenEmpty"); + printf("popWhenEmpty\n"); goto next(...); } __code popWhenNoEmpty(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { struct Stack* nodeStack = tree->nodeStack; - printf("popWhenNoEmpty"); + printf("popWhenNoEmpty\n"); goto nodeStack->pop(up1); } -__code up1(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { - struct Stack* nodeStack = tree->nodeStack; - printf("up1"); - goto nodeStack->pop(up2); -} - -__code up2(struct Node* node, struct RedBlackTree* tree, struct Stack* inputStack, struct Stack* outputStack) { - printf("up2"); - tree->current->right = node->right; - goto up(tree, inputStack, outputStack); -} - __code insertNode(struct RedBlackTree* tree, struct Node* node) { struct Stack* nodeStack = tree->nodeStack; struct Node* newNode = tree->newNode;