Enum NativeSeedType

java.lang.Object
java.lang.Enum<NativeSeedType>
org.apache.commons.rng.simple.internal.NativeSeedType
All Implemented Interfaces:
Serializable, Comparable<NativeSeedType>

public enum NativeSeedType extends Enum<NativeSeedType>
The native seed type. Contains values for all native seed types and methods to convert supported seed types to the native seed type.

Valid native seed types are:

  • Integer
  • Long
  • int[]
  • long[]

Valid types for seed conversion are:

  • Integer (or int)
  • Long (or long)
  • int[]
  • long[]
  • byte[]
Since:
1.3
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    The seed type is Integer.
    The seed type is int[].
    The seed type is Long.
    The seed type is long[].
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract Object
    convert(byte[] seed, int size)
    Convert the input byte[] seed to the native seed type.
    protected abstract Object
    convert(int[] seed, int size)
    Convert the input int[] seed to the native seed type.
    protected abstract Object
    convert(long[] seed, int size)
    Convert the input long[] seed to the native seed type.
    protected abstract Object
    convert(Integer seed, int size)
    Convert the input Integer seed to the native seed type.
    protected abstract Object
    convert(Long seed, int size)
    Convert the input Long seed to the native seed type.
    convertSeed(Object seed, int size)
    Converts the input seed from any of the supported seed types to the native seed type.
    static byte[]
    Converts the input seed from any of the supported seed types to bytes.
    createSeed(int size)
    Creates the seed.
    abstract Object
    createSeed(int size, int from, int to)
    Creates the seed.
    int
    Gets the number of bytes required to represent the native seed type.
    Gets the class type of the native seed.
    Returns the enum constant of this type with the specified name.
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

  • Method Details

    • values

      public static NativeSeedType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static NativeSeedType valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getType

      public Class<?> getType()
      Gets the class type of the native seed.
      Returns:
      the type
    • getBytes

      public int getBytes()
      Gets the number of bytes required to represent the native seed type. If the type is an array then this represents the size of a single value of the type.
      Returns:
      the number of bytes
    • createSeed

      public Object createSeed(int size)
      Creates the seed. The output seed type is determined by the native seed type. If the output is an array the required size of the array can be specified.
      Parameters:
      size - The size of the seed (array types only).
      Returns:
      the seed
    • createSeed

      public abstract Object createSeed(int size, int from, int to)
      Creates the seed. The output seed type is determined by the native seed type. If the output is an array the required size of the array can be specified and a sub-range that must not be all-zero.
      Parameters:
      size - The size of the seed (array types only).
      from - The start of the not all-zero sub-range (inclusive; array types only).
      to - The end of the not all-zero sub-range (exclusive; array types only).
      Returns:
      the seed
      Throws:
      IndexOutOfBoundsException - if the sub-range is out of bounds
      Since:
      1.5
    • convertSeed

      public Object convertSeed(Object seed, int size)
      Converts the input seed from any of the supported seed types to the native seed type. If the output is an array the required size of the array can be specified.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
      Throws:
      UnsupportedOperationException - if the seed type is invalid.
    • convert

      protected abstract Object convert(Integer seed, int size)
      Convert the input Integer seed to the native seed type.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
    • convert

      protected abstract Object convert(Long seed, int size)
      Convert the input Long seed to the native seed type.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
    • convert

      protected abstract Object convert(int[] seed, int size)
      Convert the input int[] seed to the native seed type.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
    • convert

      protected abstract Object convert(long[] seed, int size)
      Convert the input long[] seed to the native seed type.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
    • convert

      protected abstract Object convert(byte[] seed, int size)
      Convert the input byte[] seed to the native seed type.
      Parameters:
      seed - Input seed.
      size - The size of the output seed (array types only).
      Returns:
      the native seed.
    • convertSeedToBytes

      public static byte[] convertSeedToBytes(Object seed)
      Converts the input seed from any of the supported seed types to bytes.
      Parameters:
      seed - Input seed.
      Returns:
      the seed bytes.
      Throws:
      UnsupportedOperationException - if the seed type is invalid.