Mercurial > hg > Papers > 2018 > parusu-master
annotate paper/src/metaCreateTask.cbc @ 126:d15c0f582bb7 default tip
Fix
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 01 Mar 2018 16:56:54 +0900 |
parents | 2c896f2b2d04 |
children |
rev | line source |
---|---|
19
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 __code code1(struct Context *context, Integer *integer1, Integer *integer2, Integer *output) { |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 // create context |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 context->task = NEW(struct Context); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 initContext(context->task); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 // set task parameter |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 context->task->next = C_add; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 context->task->idgCount = 2; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 context->task->idg = context->task->dataNum; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 context->task->maxIdg = context->task->idg + 2; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 context->task->odg = context->task->maxIdg; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 context->task->maxOdg = context->task->odg + 1; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 // create Data Gear Queue |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 GET_META(integer1)->wait = createSynchronizedQueue(context); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 GET_META(integer2)->wait = createSynchronizedQueue(context); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 GET_META(integer3)->wait = createSynchronizedQueue(context); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 // set Input Data Gear |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 context->task->data[context->task->idg+0] = (union Data*)integer1; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 context->task->data[context->task->idg+1] = (union Data*)integer2; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 // set Output Data Gear |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 context->task->data[context->task->odg+0] = (union Data*)integer3; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 // add taskList Element |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 struct Element* element; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 element = &ALLOCATE(context, Element)->Element; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 element->data = (union Data*)context->task; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 element->next = context->taskList; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 context->taskList = element; |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 // set TaskManager->spawns parameter |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 Gearef(context, TaskManager)->taskList = context->taskList; |
24
2c896f2b2d04
Add gotoInterface.graffle
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
35 Gearef(context, TaskManager)->next1 = C_code2; |
19
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 goto meta(context, C_code2); |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 } |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 // code gear |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 __code add(Integer *integer1, Integer *integer2, next(Integer *output, ...)) { |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 .... |
cea271f8aa67
Add interface chapter
Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 } |