OSDN Git Service

2005-06-28 Robin Green <greenrd@greenrd.org>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jun 2005 14:31:22 +0000 (14:31 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jun 2005 14:31:22 +0000 (14:31 +0000)
PR java/22189
* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101382 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gnu/gcj/runtime/PersistentByteMap.java

index 0a400b1..2705cee 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-28  Robin Green  <greenrd@greenrd.org>
+
+       PR java/22189
+       * gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
+       error.
+
 2005-06-27  Tom Tromey  <tromey@redhat.com>
 
        PR java/21540, PR java/13788:
index a2b91da..fec3080 100644 (file)
@@ -175,10 +175,10 @@ public class PersistentByteMap
       // We're going to make that size prime.  This isn't
       // strictly necessary but it can't hurt.
       //
-      // We expand the size by 3/2 because the hash table is
-      // intolerably slow when more than 2/3 full.
+      // We expand the size by 3/2 and round the result because the
+      // hash table is intolerably slow when more than 2/3 full.
       
-      BigInteger size = new BigInteger(Integer.toString(capacity * 3/2));
+      BigInteger size = new BigInteger(Integer.toString(((capacity*3)+1)/2));
       BigInteger two = BigInteger.ONE.add(BigInteger.ONE);
       
       if (size.getLowestSetBit() != 0) // A hard way to say isEven()