diff options
| author | Mattias Andrée <maandree@kth.se> | 2016-04-08 15:53:31 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2016-04-08 15:53:31 +0200 |
| commit | 52f91804ff67246deab3d98c790f8b6b845afcde (patch) | |
| tree | 9bb8d3878b8c06d7eaae20a2ed06006b6a906c3f /bench/libtommath.h | |
| parent | gitignore: blacklist _/, for private files (diff) | |
| download | libzahl-52f91804ff67246deab3d98c790f8b6b845afcde.tar.gz libzahl-52f91804ff67246deab3d98c790f8b6b845afcde.tar.bz2 libzahl-52f91804ff67246deab3d98c790f8b6b845afcde.tar.xz | |
Some improvements:
- Improve .gitignore
- Improve portability of the makefile
- Bring the translations, for gmp and tommath,
used by the benchmark up to date
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'bench/libtommath.h')
| -rw-r--r-- | bench/libtommath.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/bench/libtommath.h b/bench/libtommath.h index 4a81373..25da3ff 100644 --- a/bench/libtommath.h +++ b/bench/libtommath.h @@ -30,8 +30,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(a) mp_init(a) @@ -76,12 +83,18 @@ zunsetup(void) #define zstr_length(a, b) (mp_radix_size(a, b, &_tmp), _tmp) #define zstr(a, s) mp_toradix(a, s, 10) #define zptest(w, a, t) (mp_prime_is_prime(a, t, &_tmp), _tmp) /* Note, the witness is not returned. */ -#define zsave(a, s) ((_tmp = ((s) ? mp_signed_bin_size(a) : mp_to_signed_bin(a, s)))) -#define zload(a, s) mp_read_signed_bin(a, s, _tmp) +#define zload(a, s) mp_read_signed_bin(a, (unsigned char *)s, _tmp) #define zdiv(r, a, b) mp_div(a, b, r, 0) #define zmod(r, a, b) mp_mod(a, b, r) #define zdivmod(q, r, a, b) mp_div(a, b, q, r) +static int +zsave(z_t a, char *buf) +{ + _tmp = buf ? mp_signed_bin_size(a) : mp_to_signed_bin(a, (unsigned char *)buf); + return _tmp; +} + static void zsetu(z_t r, unsigned long long int val) { @@ -183,6 +196,12 @@ zrand(z_t r, int dev, int dist, z_t n) } break; + case MODUNIFORM: + mp_rand(r, bits); + if (zcmp(r, n) > 0) + zsub(r, r, n); + break; + default: abort(); } |
