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
(orint
)Long
(orlong
)int[]
long[]
byte[]
- Since:
- 1.3
-
-
Enum Constant Summary
Enum Constants Enum Constant Description INT
The seed type isInteger
.INT_ARRAY
The seed type isint[]
.LONG
The seed type isLong
.LONG_ARRAY
The seed type islong[]
.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Object
convert(byte[] seed, int size)
Convert the inputbyte[]
seed to the native seed type.protected abstract Object
convert(int[] seed, int size)
Convert the inputint[]
seed to the native seed type.protected abstract Object
convert(long[] seed, int size)
Convert the inputlong[]
seed to the native seed type.protected abstract Object
convert(Integer seed, int size)
Convert the inputInteger
seed to the native seed type.protected abstract Object
convert(Long seed, int size)
Convert the inputLong
seed to the native seed type.Object
convertSeed(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.Object
createSeed(int size)
Creates the seed.abstract Object
createSeed(int size, int from, int to)
Creates the seed.int
getBytes()
Gets the number of bytes required to represent the native seed type.Class<?>
getType()
Gets the class type of the native seed.static NativeSeedType
valueOf(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 theseed
type is invalid.
-
convert
protected abstract Object convert(Integer seed, int size)
Convert the inputInteger
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(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 theseed
type is invalid.
-
-