aboutsummaryrefslogtreecommitdiffstats
path: root/bench/libgmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'bench/libgmp.h')
-rw-r--r--bench/libgmp.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/bench/libgmp.h b/bench/libgmp.h
index 7dc74e2..1ea6dcb 100644
--- a/bench/libgmp.h
+++ b/bench/libgmp.h
@@ -37,8 +37,15 @@ zunsetup(void)
}
#define FAST_RANDOM 0
+#define SECURE_RANDOM 0
+#define DEFAULT_RANDOM 0
+#define FASTEST_RANDOM 0
+#define LIBC_RAND_RANDOM 0
+#define LIBC_RANDOM_RANDOM 0
+#define LIBC_RAND48_RANDOM 0
#define QUASIUNIFORM 0
#define UNIFORM 1
+#define MODUNIFORM 2
#define zperror(x) ((void)0)
#define zinit mpz_init
@@ -197,6 +204,13 @@ zrand(z_t r, int dev, int dist, z_t n)
mpz_urandomm(r, _randstate, n);
break;
+ case MODUNIFORM:
+ bits = zbits(n);
+ mpz_urandomb(r, _randstate, bits);
+ if (zcmp(r, n) > 0)
+ zsub(r, r, n);
+ break;
+
default:
abort();
}