Mercurial > hg > Members > innparusu > Gears
diff src/parallel_execution/rb_tree.c @ 92:851da1107223
implement twice
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 08:50:30 +0900 |
parents | 1e074c3878c7 |
children | 6402a33250a6 |
line wrap: on
line diff
--- a/src/parallel_execution/rb_tree.c Tue Jan 26 07:46:26 2016 +0900 +++ b/src/parallel_execution/rb_tree.c Tue Jan 26 08:50:30 2016 +0900 @@ -303,20 +303,20 @@ } -/* /\* __code get(struct Context* context, struct Tree* tree) { *\/ */ -/* /\* if (tree->root) { *\/ */ -/* /\* tree->current = tree->root; *\/ */ +__code get(struct Context* context, struct Tree* tree, struct Traverse* traverse) { + if (tree->root) { + traverse->current = tree->root; -/* /\* goto meta(context, Search); *\/ */ -/* /\* } *\/ */ + goto meta(context, Search); + } -/* /\* stack_pop(context->code_stack, &context->next); *\/ */ -/* /\* goto meta(context, context->next); *\/ */ -/* /\* } *\/ */ + stack_pop(context->code_stack, &context->next); + goto meta(context, context->next); +} -/* /\* __code get_stub(struct Context* context) { *\/ */ -/* /\* goto get(context, &context->data[Tree]->tree); *\/ */ -/* /\* } *\/ */ +__code get_stub(struct Context* context) { + goto get(context, &context->data[Tree]->tree, &context->data[Traverse]->traverse); +} __code search(struct Context* context, struct Traverse* traverse, struct Node* node) { compare(context, traverse, traverse->current->key, node->key);