diff options
Diffstat (limited to 'src/rps/rps-sampler_client.c')
-rw-r--r-- | src/rps/rps-sampler_client.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/src/rps/rps-sampler_client.c b/src/rps/rps-sampler_client.c index 714943b51..f6e98ce29 100644 --- a/src/rps/rps-sampler_client.c +++ b/src/rps/rps-sampler_client.c | |||
@@ -258,39 +258,39 @@ RPS_sampler_mod_init (size_t init_size, | |||
258 | } | 258 | } |
259 | 259 | ||
260 | 260 | ||
261 | /** | 261 | // /** |
262 | * @brief Compute the probability that we already observed all peers from a | 262 | // * @brief Compute the probability that we already observed all peers from a |
263 | * biased stream of peer ids. | 263 | // * biased stream of peer ids. |
264 | * | 264 | // * |
265 | * Deficiency factor: | 265 | // * Deficiency factor: |
266 | * As introduced by Brahms: Factor between the number of unique ids in a | 266 | // * As introduced by Brahms: Factor between the number of unique ids in a |
267 | * truly random stream and number of unique ids in the gossip stream. | 267 | // * truly random stream and number of unique ids in the gossip stream. |
268 | * | 268 | // * |
269 | * @param num_peers_estim The estimated number of peers in the network | 269 | // * @param num_peers_estim The estimated number of peers in the network |
270 | * @param num_peers_observed The number of peers the given element has observed | 270 | // * @param num_peers_observed The number of peers the given element has observed |
271 | * @param deficiency_factor A factor that catches the 'bias' of a random stream | 271 | // * @param deficiency_factor A factor that catches the 'bias' of a random stream |
272 | * of peer ids | 272 | // * of peer ids |
273 | * | 273 | // * |
274 | * @return The estimated probability | 274 | // * @return The estimated probability |
275 | */ | 275 | // */ |
276 | static double | 276 | // static double |
277 | prob_observed_n_peers (uint32_t num_peers_estim, | 277 | // prob_observed_n_peers (uint32_t num_peers_estim, |
278 | uint32_t num_peers_observed, | 278 | // uint32_t num_peers_observed, |
279 | double deficiency_factor) | 279 | // double deficiency_factor) |
280 | { | 280 | // { |
281 | uint32_t num_peers = num_peers_estim * (1 / deficiency_factor); | 281 | // uint32_t num_peers = num_peers_estim * (1 / deficiency_factor); |
282 | uint64_t sum = 0; | 282 | // uint64_t sum = 0; |
283 | 283 | // | |
284 | for (uint32_t i = 0; i < num_peers; i++) | 284 | // for (uint32_t i = 0; i < num_peers; i++) |
285 | { | 285 | // { |
286 | uint64_t a = pow (-1, num_peers - i); | 286 | // uint64_t a = pow (-1, num_peers - i); |
287 | uint64_t b = binom (num_peers, i); | 287 | // uint64_t b = binom (num_peers, i); |
288 | uint64_t c = pow (i, num_peers_observed); | 288 | // uint64_t c = pow (i, num_peers_observed); |
289 | sum += a * b * c; | 289 | // sum += a * b * c; |
290 | } | 290 | // } |
291 | 291 | // | |
292 | return sum / (double) pow (num_peers, num_peers_observed); | 292 | // return sum / (double) pow (num_peers, num_peers_observed); |
293 | } | 293 | // } |
294 | 294 | ||
295 | 295 | ||
296 | /** | 296 | /** |