SSJ
V. 2.6.

umontreal.iro.lecuyer.rng
Class RandomPermutation

java.lang.Object
  extended by 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.

SSJ
V. 2.6.

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