diff options
Diffstat (limited to 'src/rps')
-rw-r--r-- | src/rps/gnunet-rps-profiler.c | 17 |
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 | { |