From 8dc182ff87cafe3337490bc8db90a67449b9c837 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 25 Mar 2016 13:21:19 +0100 Subject: zrand: add MODUNIFORM and add tests for QUASIUNIFORM and MODUNIFORM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/zrand.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/zrand.c b/src/zrand.c index 1bb1a90..17968af 100644 --- a/src/zrand.c +++ b/src/zrand.c @@ -94,6 +94,14 @@ zrand(z_t r, enum zranddev dev, enum zranddist dist, z_t n) while (unlikely(zcmpmag(r, n) > 0)); break; + case MODUNIFORM: + if (unlikely(znegative(n))) + libzahl_failure(-ZERROR_NEGATIVE); + zrand_get_random_bits(r, zbits(n), fd); + if (unlikely(zcmpmag(r, n) > 0)) + zsub(r, r, n); + break; + default: libzahl_failure(EINVAL); } -- cgit v1.2.3-70-g09d2