re PR libgcj/8481 (java.Random.nextInt(int) may return negative)
authorTom Tromey <tromey@redhat.com>
Thu, 7 Nov 2002 04:38:21 +0000 (04:38 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Thu, 7 Nov 2002 04:38:21 +0000 (04:38 +0000)
From svens@it.uu.se.  For PR libgcj/8481.
* java/util/Random.java (nextInt(int)): Only use 31 bits.

From-SVN: r58876

libjava/ChangeLog
libjava/java/util/Random.java

index 6a6adf974bfb521b07ffcb317cd4921fca3bbcc7..9dad8792e09b10ca1694b3316ac172f93fa532af 100644 (file)
@@ -1,3 +1,8 @@
+2002-11-06  Tom Tromey  <tromey@redhat.com>
+
+       From svens@it.uu.se.  For PR libgcj/8481.
+       * java/util/Random.java (nextInt(int)): Only use 31 bits.
+
 2002-11-06  Tom Tromey  <tromey@redhat.com>
 
        * jni.cc (array_from_valist): Assume that jlong won't be
index 500a02d3765ed0b61aa39fe6727dba74ee9d1319..6e7d8cf249167818c7d90aeda1a380ff15ba5abb 100644 (file)
@@ -259,7 +259,7 @@ public int nextInt(int n)
   int bits, val;
   do
   {
-    bits = next(32);
+    bits = next(31);
     val = bits % n;
   }
   while(bits - val + (n-1) &lt; 0);
@@ -296,7 +296,7 @@ public int nextInt(int n)
     int bits, val;
     do
       {
-        bits = next(32);
+        bits = next(31);
         val = bits % n;
       }
     while (bits - val + (n - 1) < 0);