Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.rng
Class WELL1024

    java.lang.Object
      umontreal.iro.lecuyer.rng.RandomStreamBase
          umontreal.iro.lecuyer.rng.WELL1024

All Implemented Interfaces:
  Serializable, Cloneable, CloneableRandomStream, RandomStream

    public class WELL1024

extends RandomStreamBase

Implements the `RandomStream` interface via inheritance from `RandomStreamBase`. The backbone generator is a Well Equidistributed Long period Linear Random Number Generator (WELL), proposed by F. Panneton, and which has a state size of 1024 bits and a period length of approximatively 21024. The values of V, W and Z are 2300, 2400 and 2700 respectively (see `RandomStream` for their definition). The seed of the RNG, and the state of a stream at any given step, is a 16-dimensional vector of 32-bit integers. The output of `nextValue` has 32 bits of precision.

This implementation requires the use of about 250K of memory to run. This memory is shared between all instances of the class, and is only loaded when the first instance is created.

See Also:
  Serialized Form

Constructor Summary
`WELL1024()` Constructs a new stream.
`WELL1024(String name)` Constructs a new stream with the identifier `name` (used in the `toString` method).

Method Summary
`WELL1024` | `clone()` Clones the current generator and return its copy.
`int[]` | `getState()` Returns the current state of the stream, represented as an array of 32 integers.
`static void` | `main(String[] args)`
`void` | `resetNextSubstream()` Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.
`void` | `resetStartStream()` Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.
`void` | `resetStartSubstream()` Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.
`static void` | `setPackageSeed(int[] seed)` Sets the initial seed of this class to the 32 integers of array `seed[0..31]`.
`void` | `setSeed(int[] seed)` This method is discouraged for normal use.
`String` | `toString()` Returns a string containing the current state of this stream.

Methods inherited from class umontreal.iro.lecuyer.rng.RandomStreamBase
`formatState, formatStateFull, increasedPrecision, nextArrayOfDouble, nextArrayOfInt, nextDouble, nextInt`

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

Constructor Detail

### WELL1024

    public WELL1024()

  Constructs a new stream.

### WELL1024

    public WELL1024(String name)

  Constructs a new stream with the identifier `name` (used in the `toString` method).

  Parameters:
    `name` - name of the stream

Method Detail

### setPackageSeed

    public static void setPackageSeed(int[] seed)

  Sets the initial seed of this class to the 32 integers of array `seed[0..31]`. This will be the initial seed of the class and of the next created stream. At least one of the integers must be non-zero.

  Parameters:
    `seed` - array of 32 elements representing the seed

### setSeed

    public void setSeed(int[] seed)

  This method is discouraged for normal use. Initializes the stream at the beginning of a stream with the initial seed `seed[0..31]`. The seed must satisfy the same conditions as in `setPackageSeed`. This method only affects the specified stream; the others are not modified. Hence after calling this method, the beginning of the streams will no longer be spaced Z values apart. For this reason, this method should only be used in very exceptional cases; proper use of the `reset...` methods and of the stream constructor is preferable.

  Parameters:
    `seed` - array of 32 elements representing the seed

### getState

    public int[] getState()

  Returns the current state of the stream, represented as an array of 32 integers.

  Returns:
    the current state of the stream

### resetStartStream

    public void resetStartStream()

  Description copied from interface: `RandomStream`
  Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.

  Specified by:
    `resetStartStream` in interface `RandomStream`
  Specified by:
    `resetStartStream` in class `RandomStreamBase`

### resetStartSubstream

    public void resetStartSubstream()

  Description copied from interface: `RandomStream`
  Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.

  Specified by:
    `resetStartSubstream` in interface `RandomStream`
  Specified by:
    `resetStartSubstream` in class `RandomStreamBase`

### resetNextSubstream

    public void resetNextSubstream()

  Description copied from interface: `RandomStream`
  Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.

  Specified by:
    `resetNextSubstream` in interface `RandomStream`
  Specified by:
    `resetNextSubstream` in class `RandomStreamBase`

### toString

    public String toString()

  Description copied from interface: `RandomStream`
  Returns a string containing the current state of this stream.

  Specified by:
    `toString` in interface `RandomStream`
  Specified by:
    `toString` in class `RandomStreamBase`
  Returns:
    the state of the generator formated as a string

### clone

    public WELL1024 clone()

  Clones the current generator and return its copy.

  Specified by:
    `clone` in interface `CloneableRandomStream`
  Overrides:
    `clone` in class `RandomStreamBase`
  Returns:
    A deep copy of the current generator

### main

    public static void main(String[] args)

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.