aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulius Bünger <buenger@mytum.de>2019-04-10 14:07:28 +0200
committerJulius Bünger <buenger@mytum.de>2019-04-10 14:07:28 +0200
commit20714e46c74f47d0ecc2359cbb4aa944ecc78135 (patch)
treec773812d5bd5b9a54500a2eeb99657636fd15a2c /src
parent6e626937fd5133188d2bd06f280a1b889219eef2 (diff)
downloadgnunet-20714e46c74f47d0ecc2359cbb4aa944ecc78135.tar.gz
gnunet-20714e46c74f47d0ecc2359cbb4aa944ecc78135.zip
RPS profiler: Normalise correctly
Diffstat (limited to 'src')
-rw-r--r--src/rps/gnunet-rps-profiler.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/rps/gnunet-rps-profiler.c b/src/rps/gnunet-rps-profiler.c
index a13ee4078..474a83768 100644
--- a/src/rps/gnunet-rps-profiler.c
+++ b/src/rps/gnunet-rps-profiler.c
@@ -2232,7 +2232,7 @@ static void compute_probabilities (uint32_t peer_idx)
2232 uint32_t cont_views; 2232 uint32_t cont_views;
2233 uint32_t number_of_being_in_pull_events; 2233 uint32_t number_of_being_in_pull_events;
2234 int tmp; 2234 int tmp;
2235 uint32_t count_non_zero_prob = 0; 2235 uint32_t sum_non_zero_prob = 0;
2236 2236
2237 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 2237 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
2238 "Computing probabilities for peer %" PRIu32 "\n", peer_idx); 2238 "Computing probabilities for peer %" PRIu32 "\n", peer_idx);
@@ -2315,21 +2315,14 @@ static void compute_probabilities (uint32_t peer_idx)
2315 i, 2315 i,
2316 number_of_being_in_pull_events); 2316 number_of_being_in_pull_events);
2317 2317
2318 if (0 != probs[i]) count_non_zero_prob++; 2318 sum_non_zero_prob += probs[i];
2319 } 2319 }
2320 /* normalize */ 2320 /* normalize */
2321 if (0 != count_non_zero_prob) 2321 for (i = 0; i < num_peers; i++)
2322 { 2322 {
2323 for (i = 0; i < num_peers; i++) 2323 probs[i] = probs[i] * (1.0 / sum_non_zero_prob);
2324 {
2325 probs[i] = probs[i] * (1.0 / count_non_zero_prob);
2326 }
2327 } else {
2328 for (i = 0; i < num_peers; i++)
2329 {
2330 probs[i] = 0;
2331 }
2332 } 2324 }
2325
2333 /* str repr */ 2326 /* str repr */
2334 for (i = 0; i < num_peers; i++) 2327 for (i = 0; i < num_peers; i++)
2335 { 2328 {