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:
IntegerLongint[]long[]
Valid types for seed conversion are:
Integer(orint)Long(orlong)int[]long[]byte[]
- Since:
- 1.3
-
-
Enum Constant Summary
Enum Constants Enum Constant Description INTThe seed type isInteger.INT_ARRAYThe seed type isint[].LONGThe seed type isLong.LONG_ARRAYThe seed type islong[].
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Objectconvert(byte[] seed, int size)Convert the inputbyte[]seed to the native seed type.protected abstract Objectconvert(int[] seed, int size)Convert the inputint[]seed to the native seed type.protected abstract Objectconvert(long[] seed, int size)Convert the inputlong[]seed to the native seed type.protected abstract Objectconvert(Integer seed, int size)Convert the inputIntegerseed to the native seed type.protected abstract Objectconvert(Long seed, int size)Convert the inputLongseed to the native seed type.ObjectconvertSeed(Object seed, int size)Converts the input seed from any of the supported seed types to the native seed type.static byte[]convertSeedToBytes(Object seed)Converts the input seed from any of the supported seed types to bytes.ObjectcreateSeed(int size)Creates the seed.abstract ObjectcreateSeed(int size, int from, int to)Creates the seed.intgetBytes()Gets the number of bytes required to represent the native seed type.Class<?>getType()Gets the class type of the native seed.static NativeSeedTypevalueOf(String name)Returns the enum constant of this type with the specified name.static NativeSeedType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INT
public static final NativeSeedType INT
The seed type isInteger.
-
LONG
public static final NativeSeedType LONG
The seed type isLong.
-
INT_ARRAY
public static final NativeSeedType INT_ARRAY
The seed type isint[].
-
LONG_ARRAY
public static final NativeSeedType LONG_ARRAY
The seed type islong[].
-
-
Method Detail
-
values
public static NativeSeedType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (NativeSeedType c : NativeSeedType.values()) System.out.println(c);
- 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 nameNullPointerException- if the argument is null
-
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 theseedtype is invalid.
-
convert
protected abstract Object convert(Integer seed, int size)
Convert the inputIntegerseed 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 inputLongseed 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 inputint[]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 inputlong[]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 inputbyte[]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 theseedtype is invalid.
-
-