diff src/parallel_execution/rb_tree.c @ 131:a4507906938c

Fix compile error but not work
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 25 Oct 2016 00:49:28 +0900
parents 2bb5e4f0fd35
children 7c309e1aea73
line wrap: on
line diff
--- a/src/parallel_execution/rb_tree.c	Mon Oct 10 20:19:26 2016 +0900
+++ b/src/parallel_execution/rb_tree.c	Tue Oct 25 00:49:28 2016 +0900
@@ -3,8 +3,8 @@
 #include "context.h"
 #include "origin_cs.h"
 
-extern void allocator(struct Context* context);
-extern void compare(struct Context* context, struct Traverse* traverse, int key1, int key2);
+extern union Data* allocator(struct Context* context);
+extern enum Relational compare(struct Node* node1, struct Node* node2);
 
 void printTree1(union Data* data) {
     struct Node* node = (struct Node*)data;
@@ -31,7 +31,8 @@
     if (root) {
         traverse->current = root;
         // traverse->result=compare(...)
-        traverse->result = traverse->compare(traverse->current, node);
+        // traverse->result = traverse->compare(traverse->current, node);
+        traverse->result = compare(traverse->current, node);
         nodeStack->stack = traverse->nodeStack;
         nodeStack->data = (union Data*)newNode;
         nodeStack->next = Replace1;
@@ -92,7 +93,8 @@
     }
     traverse->newNode = newnewNode;
     if (traverse->current) {
-        compare(context, traverse, traverse->current->key, node->key);
+        // compare(context, traverse, traverse->current->key, node->key);
+        traverse->result = compare(traverse->current, node);
         goto meta(context, Replace);
     }
     
@@ -334,7 +336,7 @@
                      parent);
 }
 
-__code stackClear(struct Context* context, stack_ptr node_stack, struct Traverse* traverse) {
+__code stackClear(struct Context* context, struct Traverse* traverse) {
     traverse->current = 0;
     traverse->nodeStack = NULL;
 
@@ -342,7 +344,7 @@
 }
 
 __code stackClear_stub(struct Context* context) {
-    goto stackClear(context, context->node_stack, &context->data[Traverse]->traverse);
+    goto stackClear(context, &context->data[Traverse]->traverse);
 }
     
 
@@ -353,7 +355,7 @@
         goto meta(context, Search);
     }
 
-    goto meta(context, context->next);
+    goto meta(context, traverse->next);
 }
 
 __code get_stub(struct Context* context) {
@@ -361,12 +363,12 @@
 }
 
 __code search(struct Context* context, struct Traverse* traverse, struct Node* node) {
-    compare(context, traverse, traverse->current->key, node->key);
-    
+    // compare(context, traverse, traverse->current->key, node->key);
+    traverse->result = compare(traverse->current, node);
     if (traverse->result == EQ) {
         *node = *traverse->current;
         
-        goto meta(context, context->next);
+        goto meta(context, traverse->next);
     } else if (traverse->result == GT) {
         traverse->current = traverse->current->right;
     } else {
@@ -376,7 +378,7 @@
     if (traverse->current)
         goto meta(context, Search);
 
-    goto meta(context, context->next);
+    goto meta(context, traverse->next);
 }
 
 __code search_stub(struct Context* context) {