A
lgorithmique
N
umérique
D
istribuée
Private GIT Repository
projects
/
loba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reindent.
[loba.git]
/
process.h
diff --git
a/process.h
b/process.h
index ed6e6cf6fbedffc1ab96657aadda320828ca0a2a..8a9e74c3d63da11bd185dfc525b567cf694e6b61 100644
(file)
--- a/
process.h
+++ b/
process.h
@@
-5,10
+5,10
@@
//#undef USE_UNORDERED_MAP
#include <algorithm>
//#undef USE_UNORDERED_MAP
#include <algorithm>
-#include <
tr1/
functional>
+#include <functional>
#ifdef USE_UNORDERED_MAP
#ifdef USE_UNORDERED_MAP
-# include <
tr1/
unordered_map>
-# define MAP_TEMPLATE std::
tr1::
unordered_map
+# include <unordered_map>
+# define MAP_TEMPLATE std::unordered_map
#else
# include <map>
# define MAP_TEMPLATE std::map
#else
# include <map>
# define MAP_TEMPLATE std::map
@@
-102,6
+102,7
@@
private:
// a same information messages
double real_load; // current load
double expected_load; // expected load in bookkeeping mode
// a same information messages
double real_load; // current load
double expected_load; // expected load in bookkeeping mode
+ double received_load; // load received from neighbors
mutex_t mutex; // synchronization between threads
condition_t cond;
mutex_t mutex; // synchronization between threads
condition_t cond;
@@
-152,6
+153,9
@@
private:
// Returns the sum of "to_send" for all neighbors.
double get_sum_of_to_send() const;
// Returns the sum of "to_send" for all neighbors.
double get_sum_of_to_send() const;
+ // Compute load_to_send (for data_send), subject to the execution parameters
+ static double compute_load_to_send(double desired);
+
// Send procedures
void ctrl_send(neighbor& nb);
void data_send(neighbor& nb);
// Send procedures
void ctrl_send(neighbor& nb);
void data_send(neighbor& nb);
@@
-169,13
+173,12
@@
private:
template <typename Compare>
void process::pneigh_sort_by_load(const Compare& comp)
{
template <typename Compare>
void process::pneigh_sort_by_load(const Compare& comp)
{
- using std::tr1::bind;
- using std::tr1::placeholders::_1;
- using std::tr1::placeholders::_2;
+ using std::placeholders::_1;
+ using std::placeholders::_2;
std::sort(pneigh.begin(), pneigh.end(),
std::sort(pneigh.begin(), pneigh.end(),
- bind(comp,
- bind(&neighbor::get_load, _1),
- bind(&neighbor::get_load, _2)));
+
std::
bind(comp,
+
std::
bind(&neighbor::get_load, _1),
+
std::
bind(&neighbor::get_load, _2)));
}
#endif // !PROCESS_H
}
#endif // !PROCESS_H