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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }