public abstract class RandomElement
extends java.lang.Object
implements java.lang.Cloneable
raw() as described below. It is also likely that you
will want to define a constructor or another mechanism for seeding the
the generator. The other classes defined in RandomElement
add value to the numbers generated by raw()
Source code is available.
RandomJava,
RandomShuffle| Modifier and Type | Field and Description |
|---|---|
(package private) java.lang.Double |
BMoutput |
| Constructor and Description |
|---|
RandomElement() |
| Modifier and Type | Method and Description |
|---|---|
int |
choose(int hi) |
int |
choose(int lo,
int hi) |
java.lang.Object |
clone() |
boolean |
coin() |
boolean |
coin(double p) |
double |
gaussian()
gaussian() uses the Box-Muller algorithm to transform raw()'s into
gaussian deviates.
|
double |
gaussian(double sd) |
double |
powlaw(double alpha,
double cut)
generate a power-law distribution with exponent
alpha
and lower cutoff
cut
|
abstract double |
raw()
The abstract method that must be defined to make a working RandomElement.
|
void |
raw(double[] d)
Fill an entire array with doubles.
|
void |
raw(double[] d,
int n)
Fill part or all of an array with doubles.
|
double |
uniform(double lo,
double hi) |
public abstract double raw()
RandomJava for an example of how to do this.RandomJavapublic void raw(double[] d,
int n)
raw() to fill the array. You can eliminate the overhead of
multiple method calls by subclassing this with a version of the generator
that fills the array. On our system this improves the efficiency of
Ranecu by 20% when filling large arrays.d - array to be filled with doublesn - number of doubles to generatepublic void raw(double[] d)
raw(double d[],int n)
with d=d.length. Since this adds little overhead for d.length
large, it is only necessary to override raw(double d[],int n)d - array to be filled with doubles.public int choose(int hi)
hi - upper limit of rangepublic int choose(int lo,
int hi)
lo - lower limit of rangehi - upper limit of rangepublic boolean coin()
public boolean coin(double p)
p - probability that function will return truepublic double uniform(double lo,
double hi)
lo - lower limit of rangehi - upper limit of rangepublic double gaussian()
public double gaussian(double sd)
sd - standard deviationpublic double powlaw(double alpha,
double cut)
alpha
and lower cutoff
cut
alpha - the exponentcut - the lower cutoffpublic java.lang.Object clone()
throws java.lang.CloneNotSupportedException
clone in class java.lang.Objectjava.lang.CloneNotSupportedException