Mercurial > hg > Gears > Gears
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;