diff src/parallel_execution/examples/calc.cbc @ 344:b8be1d51f002

Add CodeGear interface
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Fri, 26 May 2017 07:39:23 +0900
parents de1e315379c6
children 2da00c034fbc
line wrap: on
line diff
--- a/src/parallel_execution/examples/calc.cbc	Thu May 25 22:52:54 2017 +0900
+++ b/src/parallel_execution/examples/calc.cbc	Fri May 26 07:39:23 2017 +0900
@@ -129,29 +129,22 @@
     goto meta(context, taskManager->taskManager->TaskManager.spawn);
 }
 
-__code createTask4(struct TaskManager* taskManager) {
-    taskManager->next = C_createTask5;
-    goto meta(context, taskManager->taskManager->TaskManager.createTask);
-}
-
-__code createTask5(LoopCounter* loopCounter, TaskManager* taskManager, struct Context* task, Integer *integer1, Integer *integer2, Integer *integer3) {
+__code createTask4(LoopCounter* loopCounter, TaskManager* taskManager, struct Context* task, Integer *integer1, Integer *integer2, Integer *integer3) {
     int i = loopCounter->i;
     integer1->value = i;
     integer2->value = i+1;
-    task->next = C_add;
-    task->idgCount = 0;
-    task->data[task->idg] = (union Data*)integer1;
-    task->data[task->idg+1] = (union Data*)integer2;
-    task->maxIdg = task->idg + 2;
-    task->odg = task->maxIdg;
-    task->data[task->odg] = (union Data*)integer3;
-    task->maxOdg = task->odg + 1;
+    codeGear->codeGear= createAdd(context);
+    codeGear->codeGear[0] = (union Data*)integer1;
+    codeGear->codeGear[1] = (union Data*)integer2;
+    codeGear->codeGear[2] = (union Data*)integer3;
+    codeGear->next = C_createTask1
     taskManager->context = task;
     taskManager->next = C_createTask1;
     goto meta(context, taskManager->taskManager->TaskManager.spawn);
+    goto meta(context, codeGear->codeGear->CodeGear.);
 }
 
-__code createTask5_stub(struct Context* context) {
+__code createTask4_stub(struct Context* context) {
     Integer* integer1 = &ALLOCATE_DATA_GEAR(context, Integer)->Integer;
     Integer* integer2 = &ALLOCATE_DATA_GEAR(context, Integer)->Integer;
     goto createTask5(context,