aboutsummaryrefslogtreecommitdiffstats
path: root/test.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-03-25 13:21:19 +0100
committerMattias Andrée <maandree@kth.se>2016-03-25 13:21:19 +0100
commit8dc182ff87cafe3337490bc8db90a67449b9c837 (patch)
treef23e6a63ec1a921270693ecd2b03ddb071ae412c /test.c
parentRename zsplit_unsigned_fast_small_tainted to zsplit_unsigned_fast_small_auto (diff)
downloadlibzahl-8dc182ff87cafe3337490bc8db90a67449b9c837.tar.gz
libzahl-8dc182ff87cafe3337490bc8db90a67449b9c837.tar.bz2
libzahl-8dc182ff87cafe3337490bc8db90a67449b9c837.tar.xz
zrand: add MODUNIFORM and add tests for QUASIUNIFORM and MODUNIFORM
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'test.c')
-rw-r--r--test.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/test.c b/test.c
index 5517d9e..de92ccb 100644
--- a/test.c
+++ b/test.c
@@ -738,6 +738,34 @@ main(void)
assert(zcmp(a, c), != 0);
assert(zcmp(b, c), != 0);
+ zsetu(d, 100000UL);
+ zrand(a, FAST_RANDOM, QUASIUNIFORM, d);
+ assert(zcmp(a, _0), >= 0);
+ assert(zcmp(a, d), <= 0);
+ zrand(b, FAST_RANDOM, QUASIUNIFORM, d);
+ assert(zcmp(b, _0), >= 0);
+ assert(zcmp(b, d), <= 0);
+ zrand(c, FAST_RANDOM, QUASIUNIFORM, d);
+ assert(zcmp(c, _0), >= 0);
+ assert(zcmp(c, d), <= 0);
+ assert(zcmp(a, b), != 0);
+ assert(zcmp(a, c), != 0);
+ assert(zcmp(b, c), != 0);
+
+ zsetu(d, 100000UL);
+ zrand(a, FAST_RANDOM, MODUNIFORM, d);
+ assert(zcmp(a, _0), >= 0);
+ assert(zcmp(a, d), <= 0);
+ zrand(b, FAST_RANDOM, MODUNIFORM, d);
+ assert(zcmp(b, _0), >= 0);
+ assert(zcmp(b, d), <= 0);
+ zrand(c, FAST_RANDOM, MODUNIFORM, d);
+ assert(zcmp(c, _0), >= 0);
+ assert(zcmp(c, d), <= 0);
+ assert(zcmp(a, b), != 0);
+ assert(zcmp(a, c), != 0);
+ assert(zcmp(b, c), != 0);
+
assert((zseti(a, -5), zptest(0, a, 100)), == NONPRIME);
assert((zseti(a, -4), zptest(0, a, 100)), == NONPRIME);
assert((zseti(a, -3), zptest(0, a, 100)), == NONPRIME);