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