Mercurial > cgi-bin > hgwebdir.cgi > PR > PR_Implementations > PR__Univ > PR__includes > PR__common_includes
view Services_offered_by_PR/Measurement_and_Stats/dependency.c @ 8:9971d5905599
just capturing a point in the middle of development..
author | Sean Halle <seanhalle@yahoo.com> |
---|---|
date | Fri, 26 Jul 2013 12:12:34 -0700 |
parents | |
children |
line source
3 #include "dependency.h"
5 Dependency* new_dependency(int from_vp, int from_task, int to_vp, int to_task){
6 Dependency* newDep = (Dependency*) PR_int__malloc(sizeof(Dependency));
7 if (newDep!=NULL){
8 newDep->from_vp = from_vp;
9 newDep->from_task = from_task;
10 newDep->to_vp = to_vp;
11 newDep->to_task = to_task;
12 }
13 return newDep;
14 }
16 NtoN* new_NtoN(int id){
17 NtoN* newn = (NtoN*) PR_int__malloc(sizeof(NtoN));
18 newn->id = id;
19 newn->senders = makeListOfArrays(sizeof(Unit), 64);
20 newn->receivers = makeListOfArrays(sizeof(Unit), 64);
21 return newn;
22 }
24 int set_dependency_file(FILE* file){
25 dependency_file = file;
26 }
28 void print_ctl_dependency_to_file(void* _dep){
29 Dependency* dep = (Dependency*) _dep;
30 if(!dep) return;
31 fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
32 }
34 void print_comm_dependency_to_file(void* _dep){
35 Dependency* dep = (Dependency*) _dep;
36 if(!dep) return;
37 fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
38 }
40 void print_dyn_dependency_to_file(void* _dep){
41 Dependency* dep = (Dependency*) _dep;
42 if(!dep) return;
43 fprintf(dependency_file,"dynDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
44 }
46 void print_hw_dependency_to_file(void* _dep){
47 Dependency* dep = (Dependency*) _dep;
48 if(!dep) return;
49 fprintf(dependency_file,"hwDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
50 }
52 void print_dependency_to_file(void* _dep){
53 Dependency* dep = (Dependency*) _dep;
54 if(!dep) return;
55 fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
56 }
58 void print_unit_to_file(void* _unit){
59 Unit* unit = (Unit*) _unit;
60 if(!unit) return;
61 fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task);
62 }
64 void print_nton_set_helper(void* _u){
65 Unit* u = (Unit*) _u;
66 if(!u) return;
67 fprintf(dependency_file,",%d,%d",u->vp,u->task);
68 }
70 void print_nton_to_file(void* _nton){
71 NtoN* nton = (NtoN*) _nton;
72 if(!nton) return;
73 //assert(nton->senders->next_free_index==nton->receivers->next_free_index);
74 int numInSet = nton->senders->next_free_index;
75 fprintf(dependency_file,"NtoN,%d",numInSet);
76 forAllInListOfArraysDo(nton->senders,&print_nton_set_helper);
77 forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper);
78 fprintf(dependency_file,"\n");
79 }