workaround for the MoarVM problem with MP_GEN_RAND et al.

This commit is contained in:
czurnieden 2019-01-13 00:51:02 +01:00 committed by Steffen Jaeckel
parent 75bbbe5956
commit b7216e89ea
2 changed files with 23 additions and 0 deletions

View File

@ -179,6 +179,16 @@ static int s_gen_random(mp_digit *r)
return ret;
}
/*
Public for legacy reasons only, do not use elsewhere!
There is a good reason it is not officially documented!
*/
mp_digit gen_random_mp_digit(void) {
mp_digit p;
MP_UNUSED_VARIABLE s_gen_random(&p);
return p;
}
int mp_rand(mp_int *a, int digits)
{
int res;

View File

@ -600,6 +600,19 @@ int mp_fwrite(const mp_int *a, int radix, FILE *stream);
#define mp_todecimal(M, S) mp_toradix((M), (S), 10)
#define mp_tohex(M, S) mp_toradix((M), (S), 16)
#if ( (defined __GCC__) || (defined __clang__) )
# define MP_UNUSED_VARIABLE __attribute__((unused))
#else
# define MP_UNUSED_VARIABLE (void)
#endif
/*
Public for legacy reasons only, do not use elsewhere!
There is a good reason it is not officially documented!
*/
mp_digit gen_random_mp_digit(void);
#define MP_GEN_RANDOM_MAX MP_MASK
#define MP_GEN_RANDOM() gen_random_mp_digit(void)
#ifdef __cplusplus
}
#endif