99
|
1 __code createTask1(struct Context *context,struct LoopCounter* loopCounter, struct TaskManager* taskManager) {
|
|
2 Array* array1 = &ALLOCATE(context, Array)->Array;
|
|
3 Array* array2 = &ALLOCATE(context, Array)->Array;
|
|
4 Timer* timer = createTimerImpl(context);
|
|
5
|
|
6 struct Element* element;
|
|
7 context->task = NEW(struct Context);
|
|
8 initContext(context->task);
|
|
9 context->task->next = C_createArray;
|
|
10 context->task->idgCount = 0;
|
|
11 context->task->idg = context->task->dataNum;
|
|
12 context->task->maxIdg = context->task->idg + 0;
|
|
13 context->task->odg = context->task->maxIdg;
|
|
14 context->task->maxOdg = context->task->odg + 2;
|
|
15 GET_META(array1)->wait = createSynchronizedQueue(context);
|
|
16 GET_META(timer)->wait = createSynchronizedQueue(context);
|
|
17 context->task->data[context->task->odg+0] = (union Data*)array1;
|
|
18 context->task->data[context->task->odg+1] = (union Data*)timer;
|
|
19 element = &ALLOCATE(context, Element)->Element;
|
|
20 element->data = (union Data*)context->task;
|
|
21 element->next = context->taskList;
|
|
22 context->taskList = element;
|
|
23 context->task = NEW(struct Context);
|
|
24 initContext(context->task);
|
|
25 context->task->next = C_twice;
|
|
26 context->task->idgCount = 1;
|
|
27 context->task->idg = context->task->dataNum;
|
|
28 context->task->maxIdg = context->task->idg + 1;
|
|
29 context->task->odg = context->task->maxIdg;
|
|
30 context->task->maxOdg = context->task->odg + 1;
|
|
31 context->task->iterate = 0;
|
|
32 context->task->iterator = createMultiDimIterator(context, split, 1, 1);
|
|
33 GET_META(array1)->wait = createSynchronizedQueue(context);
|
|
34 GET_META(array2)->wait = createSynchronizedQueue(context);
|
|
35 context->task->data[context->task->idg+0] = (union Data*)array1;
|
|
36 context->task->data[context->task->odg+0] = (union Data*)array2;
|
|
37 element = &ALLOCATE(context, Element)->Element;
|
|
38 element->data = (union Data*)context->task;
|
|
39 element->next = context->taskList;
|
|
40 context->taskList = element;
|
|
41 context->task = NEW(struct Context);
|
|
42 initContext(context->task);
|
|
43 context->task->next = C_printArray;
|
|
44 context->task->idgCount = 2;
|
|
45 context->task->idg = context->task->dataNum;
|
|
46 context->task->maxIdg = context->task->idg + 2;
|
|
47 context->task->odg = context->task->maxIdg;
|
|
48 context->task->maxOdg = context->task->odg + 0;
|
|
49 GET_META(array2)->wait = createSynchronizedQueue(context);
|
|
50 GET_META(timer)->wait = createSynchronizedQueue(context);
|
|
51 context->task->data[context->task->idg+0] = (union Data*)array2;
|
|
52 context->task->data[context->task->idg+1] = (union Data*)timer;
|
|
53 element = &ALLOCATE(context, Element)->Element;
|
|
54 element->data = (union Data*)context->task;
|
|
55 element->next = context->taskList;
|
|
56 context->taskList = element;
|
|
57 Gearef(context, TaskManager)->taskList = context->taskList;
|
|
58 Gearef(context, TaskManager)->next1 = C_code2;
|
|
59 goto parGotoMeta(context, C_code2);
|
|
60 }
|