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 Details

    • 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