Package weka.core
Class Debug.Random
- java.lang.Object
-
- java.util.Random
-
- weka.core.Debug.Random
-
- All Implemented Interfaces:
java.io.Serializable
,RevisionHandler
- Enclosing class:
- Debug
public static class Debug.Random extends java.util.Random implements java.io.Serializable, RevisionHandler
This extended Random class enables one to print the generated random numbers etc., before they are returned. It can either use stdout (default) for outputting the logging information or a Log object (level is then INFO).- Version:
- $Revision: 7519 $
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Random()
Creates a new random number generator.Random(boolean debug)
Creates a new random number generator.Random(long seed)
Creates a new random number generator using a single long seed.Random(long seed, boolean debug)
Creates a new random number generator using a single long seed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getDebug()
returns whether to print the generated random values or notlong
getID()
returns the unique ID of this number generatorDebug.Log
getLog()
the currently used log, if null then stdout is used for outputting the debugging informationjava.lang.String
getRevision()
Returns the revision string.boolean
nextBoolean()
Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence.void
nextBytes(byte[] bytes)
Generates random bytes and places them into a user-supplied byte array.double
nextDouble()
Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.float
nextFloat()
Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.double
nextGaussian()
Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.int
nextInt()
Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.int
nextInt(int n)
Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.long
nextLong()
Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.void
printStackTrace()
prints the current stacktracevoid
setDebug(boolean value)
sets whether to print the generated random values or notvoid
setLog(Debug.Log value)
the log to use, if it is null then stdout is usedvoid
setSeed(long seed)
Sets the seed of this random number generator using a single long seed.java.lang.String
toString()
returns a string representation of this number generator
-
-
-
Constructor Detail
-
Random
public Random()
Creates a new random number generator. With no debugging.
-
Random
public Random(long seed)
Creates a new random number generator using a single long seed. With no debugging- Parameters:
seed
- the seed value
-
Random
public Random(boolean debug)
Creates a new random number generator. With optional debugging.- Parameters:
debug
- if true, debugging output is enabled
-
Random
public Random(long seed, boolean debug)
Creates a new random number generator using a single long seed. With optional debugging- Parameters:
seed
- the seed valuedebug
- if true, debugging output is enabled
-
-
Method Detail
-
setDebug
public void setDebug(boolean value)
sets whether to print the generated random values or not- Parameters:
value
- if true debugging output is enabled
-
getDebug
public boolean getDebug()
returns whether to print the generated random values or not- Returns:
- true if debugging output is enabled
-
setLog
public void setLog(Debug.Log value)
the log to use, if it is null then stdout is used- Parameters:
value
- the log to use
-
getLog
public Debug.Log getLog()
the currently used log, if null then stdout is used for outputting the debugging information- Returns:
- the log, can be null
-
getID
public long getID()
returns the unique ID of this number generator- Returns:
- the unique ID of this number generator
-
printStackTrace
public void printStackTrace()
prints the current stacktrace
-
nextBoolean
public boolean nextBoolean()
Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence.- Overrides:
nextBoolean
in classjava.util.Random
- Returns:
- random boolean
-
nextBytes
public void nextBytes(byte[] bytes)
Generates random bytes and places them into a user-supplied byte array.- Overrides:
nextBytes
in classjava.util.Random
- Parameters:
bytes
- array to fill with random bytes
-
nextDouble
public double nextDouble()
Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.- Overrides:
nextDouble
in classjava.util.Random
- Returns:
- random double
-
nextFloat
public float nextFloat()
Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.- Overrides:
nextFloat
in classjava.util.Random
- Returns:
- random float
-
nextGaussian
public double nextGaussian()
Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.- Overrides:
nextGaussian
in classjava.util.Random
- Returns:
- random double, gaussian distributed
-
nextInt
public int nextInt()
Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.- Overrides:
nextInt
in classjava.util.Random
- Returns:
- random int
-
nextInt
public int nextInt(int n)
Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.- Overrides:
nextInt
in classjava.util.Random
- Parameters:
n
- the upper limit (exclusive)- Returns:
- random int
-
nextLong
public long nextLong()
Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.- Overrides:
nextLong
in classjava.util.Random
- Returns:
- random long
-
setSeed
public void setSeed(long seed)
Sets the seed of this random number generator using a single long seed.- Overrides:
setSeed
in classjava.util.Random
- Parameters:
seed
- the seed value
-
toString
public java.lang.String toString()
returns a string representation of this number generator- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
-