aboutsummaryrefslogtreecommitdiff
path: root/src/rps/rps-test_util.c
diff options
context:
space:
mode:
authorJulius Bünger <buenger@mytum.de>2019-04-04 13:41:25 +0200
committerJulius Bünger <buenger@mytum.de>2019-04-04 13:42:57 +0200
commit8c3d9fc59cd5617c4f5b7ea621971bdff25f5353 (patch)
tree910d8bdd653c13d47d943c69b405e2818aac2d14 /src/rps/rps-test_util.c
parenta6f561efa7359dae5af8bfd3763e4f16168030ab (diff)
downloadgnunet-8c3d9fc59cd5617c4f5b7ea621971bdff25f5353.tar.gz
gnunet-8c3d9fc59cd5617c4f5b7ea621971bdff25f5353.zip
RPS: Return peers to client after many observed ids
Diffstat (limited to 'src/rps/rps-test_util.c')
-rw-r--r--src/rps/rps-test_util.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/rps/rps-test_util.c b/src/rps/rps-test_util.c
index 077750329..fcb4f59a0 100644
--- a/src/rps/rps-test_util.c
+++ b/src/rps/rps-test_util.c
@@ -487,4 +487,42 @@ store_prefix_file_name (const struct GNUNET_PeerIdentity *peer,
487 return file_name; 487 return file_name;
488} 488}
489 489
490
491/**
492 * @brief Factorial
493 *
494 * @param x Number of which to compute the factorial
495 *
496 * @return Factorial of @a x
497 */
498uint32_t fac (uint32_t x)
499{
500 if (1 >= x)
501 {
502 return x;
503 }
504 return x * fac (x - 1);
505}
506
507/**
508 * @brief Binomial coefficient (n choose k)
509 *
510 * @param n
511 * @param k
512 *
513 * @return Binomial coefficient of @a n and @a k
514 */
515uint32_t binom (uint32_t n, uint32_t k)
516{
517 //GNUNET_assert (n >= k);
518 if (k > n) return 0;
519 /* if (0 > n) return 0; - always false */
520 /* if (0 > k) return 0; - always false */
521 if (0 == k) return 1;
522 return fac (n)
523 /
524 fac(k) * fac(n - k);
525}
526
527
490/* end of gnunet-service-rps.c */ 528/* end of gnunet-service-rps.c */