GNU Trove

gnu.trove
Class PrimeFinder

java.lang.Object
  |
  +--gnu.trove.PrimeFinder

public final class PrimeFinder
extends java.lang.Object

Used to keep hash table capacities prime numbers. Not of interest for users; only for implementors of hashtables.

Choosing prime numbers as hash table capacities is a good idea to keep them working fast, particularly under hash table expansions.

However, JDK 1.2, JGL 3.1 and many other toolkits do nothing to keep capacities prime. This class provides efficient means to choose prime capacities.

Choosing a prime is O(log 300) (binary search in a list of 300 ints). Memory requirements: 1 KB static memory.

Version:
1.0, 09/24/99
Author:
wolfgang.hoschek@cern.ch

Field Summary
static int largestPrime
          The largest prime this class can generate; currently equal to Integer.MAX_VALUE.
 
Constructor Summary
PrimeFinder()
           
 
Method Summary
static int nextPrime(int desiredCapacity)
          Returns a prime number which is >= desiredCapacity and very close to desiredCapacity (within 11% if desiredCapacity >= 1000).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

largestPrime

public static final int largestPrime
The largest prime this class can generate; currently equal to Integer.MAX_VALUE.

See Also:
Constant Field Values
Constructor Detail

PrimeFinder

public PrimeFinder()
Method Detail

nextPrime

public static final int nextPrime(int desiredCapacity)
Returns a prime number which is >= desiredCapacity and very close to desiredCapacity (within 11% if desiredCapacity >= 1000).

Parameters:
desiredCapacity - the capacity desired by the user.
Returns:
the capacity which should be used for a hashtable.

GNU Trove

GNU Trove is copyright 2001-2003 Eric D. Friedman. All Rights Reserved.