From 3f7f7be7b31f719f266975ca8a9377ad3894adc4 Mon Sep 17 00:00:00 2001 From: vlefevre Date: Wed, 10 Jun 2020 10:15:52 +0000 Subject: [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 --- src/mpfr-mini-gmp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- cgit v1.2.1