diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2020-06-10 10:15:52 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2020-06-10 10:15:52 +0000 |
commit | 3f7f7be7b31f719f266975ca8a9377ad3894adc4 (patch) | |
tree | cf2f560def0175ae796dc71ede8497244e507a27 | |
parent | 350f339c509034322a18f491a2ae470668cb2cc4 (diff) | |
download | mpfr-3f7f7be7b31f719f266975ca8a9377ad3894adc4.tar.gz |
[src/mpfr-mini-gmp.c] For gmp_randseed_ui, which uses srand48, use
a portable version of the conversion from unsigned long to long.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13960 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r-- | src/mpfr-mini-gmp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mpfr-mini-gmp.c b/src/mpfr-mini-gmp.c index f69e26969..abdcb9aa2 100644 --- a/src/mpfr-mini-gmp.c +++ b/src/mpfr-mini-gmp.c @@ -40,7 +40,9 @@ gmp_randinit_default (gmp_randstate_t state) void gmp_randseed_ui (gmp_randstate_t state, unsigned long int seed) { - srand48 (seed); + /* With a portable version of the conversion from unsigned long to long + (at least GCC and Clang optimize this expression to identity). */ + srand48 (seed > LONG_MAX ? -1 - (long) ~seed : (long) seed); } #endif |