Colt 1.2.0

## cern.jet.random.sampling
Class RandomSamplingAssistant

    java.lang.Object
      cern.colt.PersistentObject
          cern.jet.random.sampling.RandomSamplingAssistant

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable

    public class RandomSamplingAssistant

extends PersistentObject

Conveniently computes a stable Simple Random Sample Without Replacement (SRSWOR) subsequence of `n` elements from a given input sequence of `N` elements; Example: Computing a sublist of `n=3` random elements from a list `(1,...,50)` may yield the sublist `(7,13,47)`. The subsequence is guaranteed to be stable, i.e. elements never change position relative to each other. Each element from the `N` elements has the same probability to be included in the `n` chosen elements. This class is a convenience adapter for `RandomSampler` using blocks.

Version:
  1.0, 02/05/99
See Also:
  `RandomSampler`, Serialized Form

Field Summary

Fields inherited from class cern.colt.PersistentObject
`serialVersionUID`

Constructor Summary
`RandomSamplingAssistant(long n, long N, RandomEngine randomGenerator)` Constructs a random sampler that samples `n` random elements from an input sequence of `N` elements.

Method Summary
`java.lang.Object` `clone()` Returns a deep copy of the receiver.
`RandomEngine` `getRandomGenerator()` Returns the used random generator.
`static void` `main(java.lang.String[] args)` Tests random sampling.
`static int[]` `sampleArray(int n, int[] elements)` Just shows how this class can be used; samples n elements from and int[] array.
`boolean` `sampleNextElement()` Returns whether the next element of the input sequence shall be sampled (picked) or not.
`static void` `test(long n, long N)` Tests the methods of this class.
`static void` `testArraySampling(int n, int N)` Tests the methods of this class.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RandomSamplingAssistant

    public RandomSamplingAssistant(long n,
                                   long N,
                                   RandomEngine randomGenerator)

  Constructs a random sampler that samples `n` random elements from an input sequence of `N` elements.

  Parameters:
    `n` - the total number of elements to choose (must be >= 0).
    `N` - number of elements to choose from (must be >= n).
    `randomGenerator` - a random number generator. Set this parameter to `null` to use the default random number generator.

Method Detail

### clone

    public java.lang.Object clone()

  Returns a deep copy of the receiver.

  Overrides:
    `clone` in class `PersistentObject`
  Returns:
    a copy of the receiver.

### getRandomGenerator

    public RandomEngine getRandomGenerator()

  Returns the used random generator.

### main

    public static void main(java.lang.String[] args)

  Tests random sampling.

### sampleArray

    public static int[] sampleArray(int n,
                                    int[] elements)

  Just shows how this class can be used; samples n elements from and int[] array.

### sampleNextElement

    public boolean sampleNextElement()

  Returns whether the next element of the input sequence shall be sampled (picked) or not.

  Returns:
    `true` if the next element shall be sampled (picked), `false` otherwise.

### test

    public static void test(long n,
                            long N)

  Tests the methods of this class. To do benchmarking, comment the lines printing stuff to the console.

### testArraySampling

    public static void testArraySampling(int n,
                                         int N)

  Tests the methods of this class. To do benchmarking, comment the lines printing stuff to the console.

Colt 1.2.0

Jump to the Colt Homepage