Mercurial > hg > Gears > Gears
changeset 980:c853248ec821
wip rb_tree_test1.cbc
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 21 Oct 2021 13:39:46 +0900 |
parents | d1ce1bc2f8ee |
children | 449a78f0cddd |
files | src/parallel_execution/CMakeLists.txt src/parallel_execution/test/rb_tree_test1.cbc |
diffstat | 2 files changed, 55 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parallel_execution/CMakeLists.txt Thu Oct 21 13:28:10 2021 +0900 +++ b/src/parallel_execution/CMakeLists.txt Thu Oct 21 13:39:46 2021 +0900 @@ -209,3 +209,11 @@ SOURCES TaskManagerImpl.cbc CPUWorker.cbc SingleLinkedQueue.cbc AtomicReference.cbc SynchronizedQueue.cbc examples/gearsFile/GearsFileImpl.cbc examples/gearsFile/GearsFile_test.cbc ) + + +GearsCommand( + TARGET + rbtree_test1 + SOURCES + test/rb_tree_test1.cbc TaskManagerImpl.cbc CPUWorker.cbc SynchronizedQueue.cbc AtomicReference.cbc SingleLinkedQueue.cbc RedBlackTree.cbc SingleLinkedStack.cbc compare.c +) \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/parallel_execution/test/rb_tree_test1.cbc Thu Oct 21 13:39:46 2021 +0900 @@ -0,0 +1,47 @@ +#include <stdio.h> +#include "../../context.h" +#interface "Tree.h" + +__code createRBTreeTest(struct Tree* tree) { + printf("create\n"); + tree = createRedBlackTree(context); + goto putDataTest(tree); +} + +// 手書きstub +__code createRBTreeTest_stub(struct Context* context) { + printf("create stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree); + goto createRBTreeTest(context, tree); +} + +__code putDataTest(struct Tree* tree) { + printf("put\n"); + Node* node = new Node(); + node->key = 0; + node->value = (union Data*) createSynchronizedQueue(context); + // tree->putの場所がわかれば良い... + goto tree->put(node, printResult); +} + +// 手書きstub +__code putDataTest_stub(struct Context* context) { + printf("put stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree); + goto putDataTest(context, tree); +} + +__code printResult() { + printf("Finish!\n"); + goto exit_code(context); +} + +// 手書きstub +__code printResult_stub(struct Context* context) { + printf("result stub\n"); + goto printResult(context); +} + +int main(int argc, char const* argv[]) { + goto createRBTreeTest(); +} \ No newline at end of file