| rev |
line source |
|
Nina@39
|
1 #include "dependency.h"
|
|
Nina@39
|
2 #include "VMS/VMS.h"
|
|
Nina@39
|
3
|
|
Nina@39
|
4 Dependency* new_dependency(int from_vp, int from_task, int to_vp, int to_task){
|
|
Nina@39
|
5 Dependency* newDep = (Dependency*) VMS__malloc(sizeof(Dependency));
|
|
Nina@39
|
6 if (newDep!=NULL){
|
|
Nina@39
|
7 newDep->from_vp = from_vp;
|
|
Nina@39
|
8 newDep->from_task = from_task;
|
|
Nina@39
|
9 newDep->to_vp = to_vp;
|
|
Nina@39
|
10 newDep->to_task = to_task;
|
|
Nina@39
|
11 }
|
|
Nina@39
|
12 return newDep;
|
|
Nina@39
|
13 }
|
|
Nina@39
|
14
|
|
nengel@48
|
15 NtoN* new_NtoN(int id){
|
|
nengel@48
|
16 NtoN* newn = (NtoN*) VMS__malloc(sizeof(NtoN));
|
|
nengel@48
|
17 newn->id = id;
|
|
nengel@48
|
18 newn->senders = makeListOfArrays(sizeof(Unit), 64);
|
|
nengel@48
|
19 newn->receivers = makeListOfArrays(sizeof(Unit), 64);
|
|
nengel@48
|
20 return newn;
|
|
nengel@48
|
21 }
|
|
nengel@48
|
22
|
|
Nina@39
|
23 int set_dependency_file(FILE* file){
|
|
Nina@39
|
24 dependency_file = file;
|
|
Nina@39
|
25 }
|
|
Nina@39
|
26
|
|
nengel@46
|
27 void print_ctl_dependency_to_file(void* _dep){
|
|
nengel@46
|
28 Dependency* dep = (Dependency*) _dep;
|
|
nengel@48
|
29 if(!dep) return;
|
|
nengel@46
|
30 fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
|
|
nengel@46
|
31 }
|
|
nengel@46
|
32
|
|
nengel@46
|
33 void print_comm_dependency_to_file(void* _dep){
|
|
nengel@46
|
34 Dependency* dep = (Dependency*) _dep;
|
|
nengel@48
|
35 if(!dep) return;
|
|
nengel@46
|
36 fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
|
|
nengel@46
|
37 }
|
|
nengel@46
|
38
|
|
nengel@49
|
39 void print_dyn_dependency_to_file(void* _dep){
|
|
nengel@49
|
40 Dependency* dep = (Dependency*) _dep;
|
|
nengel@49
|
41 if(!dep) return;
|
|
nengel@49
|
42 fprintf(dependency_file,"dynDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
|
|
nengel@49
|
43 }
|
|
nengel@49
|
44
|
|
nengel@49
|
45 void print_hw_dependency_to_file(void* _dep){
|
|
nengel@49
|
46 Dependency* dep = (Dependency*) _dep;
|
|
nengel@49
|
47 if(!dep) return;
|
|
nengel@49
|
48 fprintf(dependency_file,"hwDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
|
|
nengel@49
|
49 }
|
|
nengel@49
|
50
|
|
Nina@39
|
51 void print_dependency_to_file(void* _dep){
|
|
Nina@39
|
52 Dependency* dep = (Dependency*) _dep;
|
|
nengel@48
|
53 if(!dep) return;
|
|
Nina@39
|
54 fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
|
|
Nina@39
|
55 }
|
|
nengel@47
|
56
|
|
nengel@47
|
57 void print_unit_to_file(void* _unit){
|
|
nengel@47
|
58 Unit* unit = (Unit*) _unit;
|
|
nengel@48
|
59 if(!unit) return;
|
|
nengel@47
|
60 fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task);
|
|
nengel@48
|
61 }
|
|
nengel@48
|
62
|
|
nengel@48
|
63 void print_nton_set_helper(void* _u){
|
|
nengel@48
|
64 Unit* u = (Unit*) _u;
|
|
nengel@48
|
65 if(!u) return;
|
|
nengel@48
|
66 fprintf(dependency_file,",%d,%d",u->vp,u->task);
|
|
nengel@48
|
67 }
|
|
nengel@48
|
68
|
|
nengel@48
|
69 void print_nton_to_file(void* _nton){
|
|
nengel@48
|
70 NtoN* nton = (NtoN*) _nton;
|
|
nengel@48
|
71 if(!nton) return;
|
|
nengel@48
|
72 //assert(nton->senders->next_free_index==nton->receivers->next_free_index);
|
|
nengel@48
|
73 int numInSet = nton->senders->next_free_index;
|
|
nengel@48
|
74 fprintf(dependency_file,"NtoN,%d",numInSet);
|
|
nengel@48
|
75 forAllInListOfArraysDo(nton->senders,&print_nton_set_helper);
|
|
nengel@48
|
76 forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper);
|
|
nengel@48
|
77 fprintf(dependency_file,"\n");
|
|
nengel@47
|
78 } |