changeset 1061:1752e8a6e04c

fix: from inputStack to toStack
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sun, 28 Jan 2024 18:36:13 +0900
parents 5d8dce4e13df
children af0eb01e6b11
files src/parallel_execution/RedBlackTree.cbc src/parallel_execution/plautogen/impl/RedBlackTree.h
diffstat 2 files changed, 26 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/RedBlackTree.cbc	Sat Jan 27 21:41:32 2024 +0900
+++ b/src/parallel_execution/RedBlackTree.cbc	Sun Jan 28 18:36:13 2024 +0900
@@ -19,7 +19,7 @@
 
     redBlackTree->root = NULL;
     redBlackTree->nodeStack = createSingleLinkedStack(context);
-    redBlackTree->inputStack = createSingleLinkedStack(context);
+    redBlackTree->toStack = createSingleLinkedStack(context);
     return tree;
 }
 
@@ -98,14 +98,14 @@
     tree->current = tree->root;
     tree->copied = 0;
 
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
     struct Node* newNode = &ALLOCATE(context, Node)->Node;
     newNode->key = tree->current->key;
     newNode->value = (union Data*)new Integer();
     ((Integer*)newNode->value)->value = ((Integer*)tree->current->value)->value;
     newNode->color = tree->current->color;
 
-    goto inputStack->push(newNode, leftDown);
+    goto toStack->push(newNode, leftDown);
 }
 
 //
@@ -116,9 +116,9 @@
 
 __code leftDown(struct RedBlackTree* tree) {
     printf("leftDown\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
 
-    goto inputStack->get(leftDown1);
+    goto toStack->get(leftDown1);
 }
 
 __code leftDown1(struct RedBlackTree* tree, struct Stack* stack) {
@@ -128,7 +128,7 @@
         goto rightDown();
     }
 
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
     struct Node* newNode = &ALLOCATE(context, Node)->Node;
     struct Node* data = (Node*)(stack->data);
     newNode->key = tree->current->left->key;
@@ -141,7 +141,7 @@
     }
 
     // 新規leftノードをpushしている
-    goto inputStack->push(newNode, leftDown2);
+    goto toStack->push(newNode, leftDown2);
 }
 
 // 実際にDownする
@@ -184,18 +184,18 @@
 
 __code rightDownWhenNoEmpty(struct RedBlackTree* tree) {
     printf("rightDownWhenNoEmpty\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
 
-    goto inputStack->get(rightDown1);
+    goto toStack->get(rightDown1);
 }
 
 __code rightDownWhenEmpty(struct RedBlackTree* tree) {
     printf("rightDownWhenEmpty\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
 
     tree->copied = 1;
 
-    goto inputStack->get(rightDown1);
+    goto toStack->get(rightDown1);
 }
 
 __code rightDown1(struct RedBlackTree* tree, struct Stack* stack) {
@@ -205,7 +205,7 @@
         goto up();
     }
 
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
     struct Node* newNode = &ALLOCATE(context, Node)->Node;
     struct Node* data = (Node*)(stack->data);
     newNode->key = tree->current->right->key;
@@ -217,7 +217,7 @@
         data->right = newNode;
     }
 
-    goto inputStack->push(newNode, rightDown2);
+    goto toStack->push(newNode, rightDown2);
 }
 
 // 実際にDownする
@@ -233,11 +233,11 @@
 
 __code rightDown3(struct RedBlackTree* tree) {
     printf("rightDown3\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
     if (tree->current) {
-        goto leftDown(tree, inputStack);
+        goto leftDown(tree, toStack);
     } else {
-        goto inputStack->pop2(rightDown);
+        goto toStack->pop2(rightDown);
     }
 }
 
@@ -255,7 +255,7 @@
 
 __code up1(struct RedBlackTree* tree, struct Stack* stack) {
     printf("up1\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
     struct Node* data = (Node*)(stack->data);
 
     tree->current = data;
@@ -264,28 +264,28 @@
         goto swap(tree);
     }
 
-    goto inputStack->pop(up2);
+    goto toStack->pop(up2);
 }
 
 // rightを見てさらにupするか考える
 __code up2(struct RedBlackTree* tree) {
     printf("up2\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
 
     if (tree->current->right) {
-        // inputStackのtopにrightがあればup(すでにコピー済みなので)
+        // toStackのtopにrightがあればup(すでにコピー済みなので)
         // それがNULLならup3(rightDown)(そこからupしてきたのでNULLであるということはまだコピーできていないということになる(leftからのupをしたということ))
         goto up4(tree);
     }
 
-    goto inputStack->pop(up);
+    goto toStack->pop(up);
 }
 
 __code up4(struct RedBlackTree* tree) {
     printf("up4\n");
-    struct Stack* inputStack = tree->inputStack;
+    struct Stack* toStack = tree->toStack;
 
-    goto inputStack->get(up0);
+    goto toStack->get(up0);
 }
 
 __code up0(struct RedBlackTree* tree, struct Stack* stack) {
@@ -318,8 +318,8 @@
 
 __code swap1(struct RedBlackTree* tree) {
     printf("swap1\n");
-    struct Stack* inputStack = tree->inputStack;
-    goto inputStack->pop(swap2);
+    struct Stack* toStack = tree->toStack;
+    goto toStack->pop(swap2);
 }
 
 __code swap2(struct RedBlackTree* tree, struct Stack* stack, __code next(...)) {
--- a/src/parallel_execution/plautogen/impl/RedBlackTree.h	Sat Jan 27 21:41:32 2024 +0900
+++ b/src/parallel_execution/plautogen/impl/RedBlackTree.h	Sun Jan 28 18:36:13 2024 +0900
@@ -6,8 +6,7 @@
   struct Node* parent;
   struct Node* grandparent;
   struct Stack* nodeStack;
-  struct Stack* inputStack;
-  struct Stack* outputStack;
+  struct Stack* toStack;
   __code findNodeNext(...);
   int result;
   int copied;