public class Ranlux extends RandomSeedable implements java.io.Serializable
LUXURY LEVELS | ||
level | p | |
0 | 24 | equivalent to the original RCARRY of Marsaglia and Zaman, very long period, but fails many tests. |
1 | 48 | considerable improvement in quality over level 0, now passes the gap test, but still fails spectral test. |
2 | 97 | passes all known tests, but theoretically still defective. |
3 | 223 | DEFAULT VALUE. Any theoretically possible correlations have very small chance of being observed. |
4 | 389 | highest possible luxury, all 24 bits chaotic. |
Ranlux()
Ranlux(0,0)
Ranlux(389,1)
Ranlux(75,0)
Source code is available.
Modifier and Type | Field and Description |
---|---|
(package private) float |
carry |
(package private) boolean |
diagOn |
(package private) int |
i24 |
(package private) static int |
icons |
(package private) static int |
igiga |
(package private) int |
in24 |
(package private) int |
inseed |
(package private) int[] |
isdext |
(package private) int[] |
iseeds |
(package private) static int |
itwo24 |
(package private) int |
j24 |
(package private) static int |
jsdflt |
(package private) int |
jseed |
(package private) int |
kount |
(package private) int |
luxlev |
static int |
lxdflt
Default luxury level:
lxdflt=3 |
static int |
maxlev
Maximum luxury level:
maxlev=4 |
(package private) int |
mkount |
(package private) static int[] |
ndskip |
(package private) int[] |
next |
(package private) int |
nskip |
(package private) float[] |
seeds |
(package private) float |
twom12 |
(package private) float |
twom24 |
(package private) static int |
twop12 |
BMoutput
Constructor and Description |
---|
Ranlux()
Default initialization of RANLUX.
|
Ranlux(java.util.Date d)
Initialize RANLUX with default luxury level
and a Date object.
|
Ranlux(int ins)
Initialize RANLUX with default luxury level
and a specified seed.
|
Ranlux(int lux,
java.util.Date d)
Initialize RANLUX with specified luxury level
and a Date object.
|
Ranlux(int lux,
int ins)
Initialize RANLUX with specified luxury level
and seed.
|
Ranlux(int lux,
long ins)
Initialize RANLUX with specified luxury level
and seed.
|
Ranlux(long ins)
Initialize RANLUX with default luxury level
and a specified seed.
|
Modifier and Type | Method and Description |
---|---|
private void |
diag(java.lang.String s) |
private void |
init_arrays() |
double |
raw()
The random number generator.
|
private void |
rluxdef() |
private void |
rluxgo(int lux,
int ins) |
void |
setDiag(boolean b)
Turns diagnostic messages on and off.
|
ClockSeed, ClockSeed
public static final int maxlev
maxlev=4
public static final int lxdflt
lxdflt=3
static final int igiga
static final int jsdflt
static final int twop12
static final int itwo24
static final int icons
static final int[] ndskip
int[] iseeds
int[] isdext
int[] next
int luxlev
int nskip
int inseed
int jseed
int in24
int kount
int mkount
int i24
int j24
float[] seeds
float carry
float twom24
float twom12
boolean diagOn
public Ranlux()
jsdflt=314159265
and luxury level 3.public Ranlux(int lux, int ins)
lux
- luxury level from 0-4.ins
- seed, a positive integer.public Ranlux(int lux, long ins)
lux
- luxury level from 0-4.ins
- seed, a positive long.public Ranlux(int ins)
ins
- seed, a positive integerpublic Ranlux(long ins)
ins
- seed, a positive integerpublic Ranlux(int lux, java.util.Date d)
RandomElement e = Ranlux(4,new Date());
lux
- luxury level from 0-4.d
- date used to generate seedpublic Ranlux(java.util.Date d)
RandomElement e = Ranlux(new Date());
d
- date used to generate seedpublic void setDiag(boolean b)
b
- diagnostic message statuspublic final double raw()
raw
in class RandomElement
RandomJava
private void init_arrays()
private void rluxdef()
private final void rluxgo(int lux, int ins)
private void diag(java.lang.String s)