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;