public abstract class RandomSynchronized extends RandomElement implements java.io.Serializable
Source code is available.
RandomElement
,
Serialized FormModifier and Type | Field and Description |
---|---|
private RandomElement |
rng |
BMoutput
Constructor and Description |
---|
RandomSynchronized(RandomElement rng) |
Modifier and Type | Method and Description |
---|---|
int |
choose(int lo,
int hi)
Wrapped so generators can override.
|
double |
gaussian()
Must be synchronized because state is stored in BMoutput
|
double |
raw()
Synchronized the raw() method, which is generally not threadsafe.
|
void |
raw(double[] d,
int n)
This method probably isn't threadsafe in implementations, so it's
synchronized
|
private void |
readObject(java.io.ObjectInputStream in) |
private void |
writeObject(java.io.ObjectOutputStream out)
We wouldn't want some sneaky person to serialize this in the middle
of generating a number
|
private RandomElement rng
public RandomSynchronized(RandomElement rng)
public double raw()
raw
in class RandomElement
RandomJava
public void raw(double[] d, int n)
raw
in class RandomElement
d
- array to be filled with doublesn
- number of doubles to generatepublic int choose(int lo, int hi)
choose
in class RandomElement
lo
- lower limit of rangehi
- upper limit of rangepublic double gaussian()
gaussian
in class RandomElement
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
java.io.IOException
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException