X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/ba8a9c5fbc92dc95fc99d8078b3474fd2fd5a043..ffea735548f5d4940dae32d8071a2676f6716ad0:/loba_simple.cpp?ds=inline diff --git a/loba_simple.cpp b/loba_simple.cpp index 7d4937c..d44a1de 100644 --- a/loba_simple.cpp +++ b/loba_simple.cpp @@ -14,8 +14,8 @@ double loba_simple::load_balance(double my_load) int imax = -1; double min = my_load; double max = -1.0; - for (unsigned i = 0 ; i < neigh.size() ; ++i) { - double l = neigh[i].get_load(); + for (unsigned i = 0 ; i < pneigh.size() ; ++i) { + double l = pneigh[i]->get_load(); if (l >= my_load) continue; if (l < min) { @@ -29,9 +29,10 @@ double loba_simple::load_balance(double my_load) } if (imin != -1) { // found someone - double balance = (my_load - max) / 2; + double balance = (my_load - min) / 2; DEBUG6("%d:%g %d:%g %g %g", imin, min, imax, max, my_load, balance); - neigh[imin].set_to_send(balance); + pneigh[imin]->set_to_send(balance); + pneigh[imin]->set_load(min+balance); return balance; } else { return 0.0;