Nina@39: #include "dependency.h" nengel@57: #include "../VMS_impl/VMS.h" Nina@39: Nina@39: Dependency* new_dependency(int from_vp, int from_task, int to_vp, int to_task){ seanhalle@60: Dependency* newDep = (Dependency*) VMS_int__malloc(sizeof(Dependency)); Nina@39: if (newDep!=NULL){ Nina@39: newDep->from_vp = from_vp; Nina@39: newDep->from_task = from_task; Nina@39: newDep->to_vp = to_vp; Nina@39: newDep->to_task = to_task; Nina@39: } Nina@39: return newDep; Nina@39: } Nina@39: nengel@48: NtoN* new_NtoN(int id){ seanhalle@60: NtoN* newn = (NtoN*) VMS_int__malloc(sizeof(NtoN)); nengel@48: newn->id = id; nengel@48: newn->senders = makeListOfArrays(sizeof(Unit), 64); nengel@48: newn->receivers = makeListOfArrays(sizeof(Unit), 64); nengel@48: return newn; nengel@48: } nengel@48: Nina@39: int set_dependency_file(FILE* file){ Nina@39: dependency_file = file; Nina@39: } Nina@39: nengel@46: void print_ctl_dependency_to_file(void* _dep){ nengel@46: Dependency* dep = (Dependency*) _dep; nengel@48: if(!dep) return; nengel@46: fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); nengel@46: } nengel@46: nengel@46: void print_comm_dependency_to_file(void* _dep){ nengel@46: Dependency* dep = (Dependency*) _dep; nengel@48: if(!dep) return; nengel@46: fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); nengel@46: } nengel@46: nengel@49: void print_dyn_dependency_to_file(void* _dep){ nengel@49: Dependency* dep = (Dependency*) _dep; nengel@49: if(!dep) return; nengel@49: fprintf(dependency_file,"dynDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); nengel@49: } nengel@49: nengel@49: void print_hw_dependency_to_file(void* _dep){ nengel@49: Dependency* dep = (Dependency*) _dep; nengel@49: if(!dep) return; nengel@49: fprintf(dependency_file,"hwDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); nengel@49: } nengel@49: Nina@39: void print_dependency_to_file(void* _dep){ Nina@39: Dependency* dep = (Dependency*) _dep; nengel@48: if(!dep) return; Nina@39: fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); Nina@39: } nengel@47: nengel@47: void print_unit_to_file(void* _unit){ nengel@47: Unit* unit = (Unit*) _unit; nengel@48: if(!unit) return; nengel@47: fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task); nengel@48: } nengel@48: nengel@48: void print_nton_set_helper(void* _u){ nengel@48: Unit* u = (Unit*) _u; nengel@48: if(!u) return; nengel@48: fprintf(dependency_file,",%d,%d",u->vp,u->task); nengel@48: } nengel@48: nengel@48: void print_nton_to_file(void* _nton){ nengel@48: NtoN* nton = (NtoN*) _nton; nengel@48: if(!nton) return; nengel@48: //assert(nton->senders->next_free_index==nton->receivers->next_free_index); nengel@48: int numInSet = nton->senders->next_free_index; nengel@48: fprintf(dependency_file,"NtoN,%d",numInSet); nengel@48: forAllInListOfArraysDo(nton->senders,&print_nton_set_helper); nengel@48: forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper); nengel@48: fprintf(dependency_file,"\n"); nengel@47: }