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 RandomPermutation

    java.lang.Object
      umontreal.iro.lecuyer.rng.RandomPermutation

    public class RandomPermutation

extends Object

Provides methods to randomly shuffle arrays or lists using a random stream.

Constructor Summary
`RandomPermutation()`

Method Summary
`static void` | `init(byte[] array, int n)` Initializes `array` with the first n positive integers in natural order as `array`[i - 1] = i, for i = 1,..., n.
`static void` | `init(double[] array, int n)` Similar to `init``(byte[], int)`.
`static void` | `init(float[] array, int n)` Similar to `init``(byte[], int)`.
`static void` | `init(int[] array, int n)` Similar to `init``(byte[], int)`.
`static void` | `init(long[] array, int n)` Similar to `init``(byte[], int)`.
`static void` | `init(short[] array, int n)` Similar to `init``(byte[], int)`.
`static void` | `shuffle(boolean[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(boolean[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(byte[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(byte[] array, RandomStream stream)` Randomly permutes `array` using `stream`.
`static void` | `shuffle(char[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(char[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(double[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(double[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(float[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(float[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(int[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(int[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(List<?> list, int k, RandomStream stream)`
`static void` | `shuffle(List<?> list, RandomStream stream)`
`static void` | `shuffle(long[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(long[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.
`static void` | `shuffle(Object[] array, int n, int k, RandomStream stream)` Partially permutes `array` as follows using `stream`: draws the new k elements, `array[0]` to `array[k-1]`, randomly among the old n elements, `array[0]` to `array[n-1]`, assuming that k <= n <= `array.length`.
`static void` | `shuffle(Object[] array, RandomStream stream)` Randomly permutes `array` using `stream`.
`static void` | `shuffle(short[] array, int n, int k, RandomStream stream)` Similar to `shuffle``(Object[], n, k, RandomStream)`.
`static void` | `shuffle(short[] array, RandomStream stream)` Similar to `shuffle``(byte[], RandomStream)`.

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

Constructor Detail

### RandomPermutation

    public RandomPermutation()

Method Detail

### init

    public static void init(byte[] array,
                            int n)

  Initializes `array` with the first n positive integers in natural order as `array`[i - 1] = i, for i = 1,..., n. The size of `array` must be at least n.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### init

    public static void init(short[] array,
                            int n)

  Similar to `init``(byte[], int)`.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### init

    public static void init(int[] array,
                            int n)

  Similar to `init``(byte[], int)`.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### init

    public static void init(long[] array,
                            int n)

  Similar to `init``(byte[], int)`.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### init

    public static void init(float[] array,
                            int n)

  Similar to `init``(byte[], int)`.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### init

    public static void init(double[] array,
                            int n)

  Similar to `init``(byte[], int)`.

  Parameters:
    `array` - the array to initialize.
    `n` - number of elements initialized.

### shuffle

    public static void shuffle(List<?> list,
                               RandomStream stream)

### shuffle

    public static void shuffle(Object[] array,
                               RandomStream stream)

  Randomly permutes `array` using `stream`. This method permutes the whole array.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(byte[] array,
                               RandomStream stream)

  Randomly permutes `array` using `stream`. This method permutes the whole array.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(short[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(int[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(long[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(char[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(boolean[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(float[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(double[] array,
                               RandomStream stream)

  Similar to `shuffle``(byte[], RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(List<?> list,
                               int k,
                               RandomStream stream)

### shuffle

    public static void shuffle(Object[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Partially permutes `array` as follows using `stream`: draws the new k elements, `array[0]` to `array[k-1]`, randomly among the old n elements, `array[0]` to `array[n-1]`, assuming that k <= n <= `array.length`. In other words, k elements are selected at random without replacement from the first n array elements and are placed in the first k positions, in random order.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(byte[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(short[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(int[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(long[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(char[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(boolean[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(float[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

### shuffle

    public static void shuffle(double[] array,
                               int n,
                               int k,
                               RandomStream stream)

  Similar to `shuffle``(Object[], n, k, RandomStream)`.

  Parameters:
    `array` - the array being shuffled.
    `n` - selection amongst the first n elements.
    `k` - number of elements selected.
    `stream` - the random stream used to generate random numbers.

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.