Mercurial > hg > Gears > GearsAgda
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) {