Qinst 7 ompi/mca/topo/treematch/treematch/k-partitioning.c void memory_allocation(PriorityQueue ** Q, PriorityQueue ** Qinst, double *** D, int n, int k); Qinst 8 ompi/mca/topo/treematch/treematch/k-partitioning.c void initialization(int * const part, double ** const matrice, PriorityQueue * const Qpart, PriorityQueue * const Q, PriorityQueue * const Qinst, double ** const D, int n, int k, int * const deficit, int * const surplus); Qinst 9 ompi/mca/topo/treematch/treematch/k-partitioning.c void algo(int * const part, double ** const matrice, PriorityQueue * const Qpart, PriorityQueue * const Q, PriorityQueue * const Qinst, double ** const D, int n, int * const deficit, int * const surplus); Qinst 12 ompi/mca/topo/treematch/treematch/k-partitioning.c void destruction(PriorityQueue * Qpart, PriorityQueue * Q, PriorityQueue * Qinst, double ** D, int n, int k); Qinst 23 ompi/mca/topo/treematch/treematch/k-partitioning.c PriorityQueue Qpart, *Q = NULL, *Qinst = NULL; Qinst 30 ompi/mca/topo/treematch/treematch/k-partitioning.c memory_allocation(&Q, &Qinst, &D, real_n, k); Qinst 34 ompi/mca/topo/treematch/treematch/k-partitioning.c initialization(part, comm, &Qpart, Q, Qinst, D, real_n, k, &deficit, &surplus); Qinst 39 ompi/mca/topo/treematch/treematch/k-partitioning.c algo(part, comm, &Qpart, Q, Qinst, D, real_n, &deficit, &surplus); Qinst 46 ompi/mca/topo/treematch/treematch/k-partitioning.c destruction(&Qpart, Q, Qinst, D, real_n, k); Qinst 51 ompi/mca/topo/treematch/treematch/k-partitioning.c void memory_allocation(PriorityQueue ** Q, PriorityQueue ** Qinst, double *** D, int n, int k) Qinst 55 ompi/mca/topo/treematch/treematch/k-partitioning.c *Qinst = calloc(n, sizeof(PriorityQueue)); /*one Qinst for each vertex*/ Qinst 61 ompi/mca/topo/treematch/treematch/k-partitioning.c void initialization(int * const part, double ** const matrice, PriorityQueue * const Qpart, PriorityQueue * const Q, PriorityQueue * const Qinst, double ** const D, int n, int k, int * const deficit, int * const surplus) Qinst 76 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_init(&Qinst[i], k); Qinst 91 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_insert(&Qinst[i], j, D[i][j]); /*we insert the corresponding D(i,j) value in Qinst[i]*/ Qinst 95 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_insert(&Q[part[i]], i, PQ_findMaxKey(&Qinst[i])-D[i][part[i]]); /*we insert in Q[part[i]] the vertex i with its highest possible gain*/ Qinst 106 ompi/mca/topo/treematch/treematch/k-partitioning.c void algo(int * const part, double ** const matrice, PriorityQueue * const Qpart, PriorityQueue * const Q, PriorityQueue * const Qinst, double ** const D, int n, int * const deficit, int * const surplus) Qinst 123 ompi/mca/topo/treematch/treematch/k-partitioning.c j = PQ_deleteMax(&Qinst[u]); /*we get from Qinst[u] the subset in which we have to move u to get the highest gain.*/ Qinst 135 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_adjustKey(&Qinst[v], j, D[v][j]); /*we update this gain in Qinst[v]*/ Qinst 138 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_adjustKey(&Qinst[v], j, D[v][j]);/*we update this gain in Qinst[v]*/ Qinst 139 ompi/mca/topo/treematch/treematch/k-partitioning.c d = PQ_findMaxKey(&Qinst[v]) - D[v][part[v]]; /*we compute v's new highest possible gain*/ Qinst 146 ompi/mca/topo/treematch/treematch/k-partitioning.c d = PQ_findMaxKey(&Qinst[u]) - D[u][part[u]]; /*we compute the new u's highest possible gain*/ Qinst 147 ompi/mca/topo/treematch/treematch/k-partitioning.c if(!PQ_isEmpty(&Qinst[u])) /*if at least one more move of u is possible*/ Qinst 179 ompi/mca/topo/treematch/treematch/k-partitioning.c void destruction(PriorityQueue * Qpart, PriorityQueue * Q, PriorityQueue * Qinst, double ** D, int n, int k) Qinst 188 ompi/mca/topo/treematch/treematch/k-partitioning.c PQ_exit(&Qinst[i]); Qinst 190 ompi/mca/topo/treematch/treematch/k-partitioning.c free(Qinst);