Package org.apache.commons.rng.sampling
Class ArraySampler
- java.lang.Object
-
- org.apache.commons.rng.sampling.ArraySampler
-
public final class ArraySampler extends Object
Utilities for shuffling an array in-place.Shuffles use the Fisher-Yates algorithm.
- Since:
- 1.6
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean[]shuffle(UniformRandomProvider rng, boolean[] array)Shuffles the entries of the given array.static boolean[]shuffle(UniformRandomProvider rng, boolean[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static byte[]shuffle(UniformRandomProvider rng, byte[] array)Shuffles the entries of the given array.static byte[]shuffle(UniformRandomProvider rng, byte[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static char[]shuffle(UniformRandomProvider rng, char[] array)Shuffles the entries of the given array.static char[]shuffle(UniformRandomProvider rng, char[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static double[]shuffle(UniformRandomProvider rng, double[] array)Shuffles the entries of the given array.static double[]shuffle(UniformRandomProvider rng, double[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static float[]shuffle(UniformRandomProvider rng, float[] array)Shuffles the entries of the given array.static float[]shuffle(UniformRandomProvider rng, float[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static int[]shuffle(UniformRandomProvider rng, int[] array)Shuffles the entries of the given array.static int[]shuffle(UniformRandomProvider rng, int[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static long[]shuffle(UniformRandomProvider rng, long[] array)Shuffles the entries of the given array.static long[]shuffle(UniformRandomProvider rng, long[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static short[]shuffle(UniformRandomProvider rng, short[] array)Shuffles the entries of the given array.static short[]shuffle(UniformRandomProvider rng, short[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).static <T> T[]shuffle(UniformRandomProvider rng, T[] array)Shuffles the entries of the given array.static <T> T[]shuffle(UniformRandomProvider rng, T[] array, int from, int to)Shuffles the entries of the given array in the range[from, to).
-
-
-
Method Detail
-
shuffle
public static boolean[] shuffle(UniformRandomProvider rng, boolean[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static byte[] shuffle(UniformRandomProvider rng, byte[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static char[] shuffle(UniformRandomProvider rng, char[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static double[] shuffle(UniformRandomProvider rng, double[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static float[] shuffle(UniformRandomProvider rng, float[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static int[] shuffle(UniformRandomProvider rng, int[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static long[] shuffle(UniformRandomProvider rng, long[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static short[] shuffle(UniformRandomProvider rng, short[] array)
Shuffles the entries of the given array.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static <T> T[] shuffle(UniformRandomProvider rng, T[] array)
Shuffles the entries of the given array.- Type Parameters:
T- Type of the items.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).- Returns:
- a reference to the given array
-
shuffle
public static boolean[] shuffle(UniformRandomProvider rng, boolean[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static byte[] shuffle(UniformRandomProvider rng, byte[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static char[] shuffle(UniformRandomProvider rng, char[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static double[] shuffle(UniformRandomProvider rng, double[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static float[] shuffle(UniformRandomProvider rng, float[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static int[] shuffle(UniformRandomProvider rng, int[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static long[] shuffle(UniformRandomProvider rng, long[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static short[] shuffle(UniformRandomProvider rng, short[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
shuffle
public static <T> T[] shuffle(UniformRandomProvider rng, T[] array, int from, int to)
Shuffles the entries of the given array in the range[from, to).- Type Parameters:
T- Type of the items.- Parameters:
rng- Source of randomness.array- Array whose entries will be shuffled (in-place).from- Lower-bound (inclusive) of the sub-range.to- Upper-bound (exclusive) of the sub-range.- Returns:
- a reference to the given array
- Throws:
IndexOutOfBoundsException- if the sub-range is out of bounds
-
-