Package stdlib
Class StdRandom
java.lang.Object
stdlib.StdRandom
Standard random. This class provides methods for generating
random number from various distributions.
For additional documentation, see Section 2.2 of Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Return a boolean, which is true with probability .5, and false otherwise.static boolean
bernoulli
(double p) Return a boolean, which is true with probability p, and false otherwise.static double
cauchy()
Return a real number with a Cauchy distribution.static int
discrete
(double[] a) Return a number from a discrete distribution: i with probability a[i].static double
exp
(double lambda) Return a real number from an exponential distribution with rate lambda.static double
gaussian()
Return a real number with a standard Gaussian distribution.static double
gaussian
(double mean, double stddev) Return a real number from a gaussian distribution with given mean and stddevstatic int
geometric
(double p) Return an integer with a geometric distribution with mean 1/p.static long
getSeed()
Get the seed of the psedurandom number generator.static void
Unit test.static double
pareto
(double alpha) Return a real number with a Pareto distribution with parameter alpha.static int
poisson
(double lambda) Return an integer with a Poisson distribution with mean lambda.static double
random()
Return real number uniformly in [0, 1).static void
setSeed
(long s) Set the seed of the psedurandom number generator.static void
shuffle
(double[] a) Rearrange the elements of a double array in random order.static void
shuffle
(double[] a, int lo, int hi) Rearrange the elements of the subarray a[lo..hi] in random order.static void
shuffle
(int[] a) Rearrange the elements of an int array in random order.static void
shuffle
(int[] a, int lo, int hi) Rearrange the elements of the subarray a[lo..hi] in random order.static void
Rearrange the elements of an array in random order.static void
Rearrange the elements of the subarray a[lo..hi] in random order.static double
uniform()
Return real number uniformly in [0, 1).static double
uniform
(double a, double b) Return real number uniformly in [a, b).static int
uniform
(int N) Return an integer uniformly between 0 (inclusive) and N (exclusive).static int
uniform
(int a, int b) Return int uniformly in [a, b).
-
Field Details
-
random
-
seed
-
-
Constructor Details
-
StdRandom
private StdRandom()
-
-
Method Details
-
setSeed
Set the seed of the psedurandom number generator. -
getSeed
Get the seed of the psedurandom number generator. -
uniform
Return real number uniformly in [0, 1). -
uniform
Return an integer uniformly between 0 (inclusive) and N (exclusive). -
random
Return real number uniformly in [0, 1). -
uniform
Return int uniformly in [a, b). -
uniform
Return real number uniformly in [a, b). -
bernoulli
Return a boolean, which is true with probability p, and false otherwise. -
bernoulli
Return a boolean, which is true with probability .5, and false otherwise. -
gaussian
Return a real number with a standard Gaussian distribution. -
gaussian
Return a real number from a gaussian distribution with given mean and stddev -
geometric
Return an integer with a geometric distribution with mean 1/p. -
poisson
Return an integer with a Poisson distribution with mean lambda. -
pareto
Return a real number with a Pareto distribution with parameter alpha. -
cauchy
Return a real number with a Cauchy distribution. -
discrete
Return a number from a discrete distribution: i with probability a[i]. Precondition: array entries are nonnegative and their sum (very nearly) equals 1.0. -
exp
Return a real number from an exponential distribution with rate lambda. -
shuffle
Rearrange the elements of an array in random order. -
shuffle
Rearrange the elements of a double array in random order. -
shuffle
Rearrange the elements of an int array in random order. -
shuffle
Rearrange the elements of the subarray a[lo..hi] in random order. -
shuffle
Rearrange the elements of the subarray a[lo..hi] in random order. -
shuffle
Rearrange the elements of the subarray a[lo..hi] in random order. -
main
Unit test.
-