Mercurial > hg > GearsTemplate
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,