# Pseudorandom Number Generator Iterators > Standard library pseudorandom number generator (PRNG) iterators.
## Usage ```javascript var ns = require( '@stdlib/random/iter' ); ``` #### ns Standard library pseudorandom number generator (PRNG) iterators. ```javascript var iterators = ns; // returns {...} ``` The namespace contains the following functions for creating iterator protocol-compliant iterators:
- [`arcsine( a, b[, options] )`][@stdlib/random/iter/arcsine]: create an iterator for generating pseudorandom numbers drawn from an arcsine distribution. - [`bernoulli( p[, options] )`][@stdlib/random/iter/bernoulli]: create an iterator for generating pseudorandom numbers drawn from a Bernoulli distribution. - [`beta( alpha, beta[, options] )`][@stdlib/random/iter/beta]: create an iterator for generating pseudorandom numbers drawn from a beta distribution. - [`betaprime( alpha, beta[, options] )`][@stdlib/random/iter/betaprime]: create an iterator for generating pseudorandom numbers drawn from a beta prime distribution. - [`binomial( n, p[, options] )`][@stdlib/random/iter/binomial]: create an iterator for generating pseudorandom numbers drawn from a binomial distribution. - [`boxMuller( [options] )`][@stdlib/random/iter/box-muller]: create an iterator for generating pseudorandom numbers drawn from a standard normal distribution using the Box-Muller transform. - [`cauchy( x0, gamma[, options] )`][@stdlib/random/iter/cauchy]: create an iterator for generating pseudorandom numbers drawn from a Cauchy distribution. - [`chi( k[, options] )`][@stdlib/random/iter/chi]: create an iterator for generating pseudorandom numbers drawn from a chi distribution. - [`chisquare( k[, options] )`][@stdlib/random/iter/chisquare]: create an iterator for generating pseudorandom numbers drawn from a chi-square distribution. - [`cosine( mu, s[, options] )`][@stdlib/random/iter/cosine]: create an iterator for generating pseudorandom numbers drawn from a raised cosine distribution. - [`discreteUniform( a, b[, options] )`][@stdlib/random/iter/discrete-uniform]: create an iterator for generating pseudorandom numbers drawn from a discrete uniform distribution. - [`erlang( k, lambda[, options] )`][@stdlib/random/iter/erlang]: create an iterator for generating pseudorandom numbers drawn from an Erlang distribution. - [`exponential( lambda[, options] )`][@stdlib/random/iter/exponential]: create an iterator for generating pseudorandom numbers drawn from an exponential distribution. - [`f( d1, d2[, options] )`][@stdlib/random/iter/f]: create an iterator for generating pseudorandom numbers drawn from an F distribution. - [`frechet( alpha, s, m[, options] )`][@stdlib/random/iter/frechet]: create an iterator for generating pseudorandom numbers drawn from a Fréchet distribution. - [`gamma( alpha, beta[, options] )`][@stdlib/random/iter/gamma]: create an iterator for generating pseudorandom numbers drawn from a gamma distribution. - [`geometric( p[, options] )`][@stdlib/random/iter/geometric]: create an iterator for generating pseudorandom numbers drawn from a geometric distribution. - [`gumbel( mu, beta[, options] )`][@stdlib/random/iter/gumbel]: create an iterator for generating pseudorandom numbers drawn from a Gumbel distribution. - [`hypergeometric( N, K, n[, options] )`][@stdlib/random/iter/hypergeometric]: create an iterator for generating pseudorandom numbers drawn from a hypergeometric distribution. - [`improvedZiggurat( [options] )`][@stdlib/random/iter/improved-ziggurat]: create an iterator for generating pseudorandom numbers drawn from a standard normal distribution using the Improved Ziggurat algorithm. - [`invgamma( alpha, beta[, options] )`][@stdlib/random/iter/invgamma]: create an iterator for generating pseudorandom numbers drawn from an inverse gamma distribution. - [`kumaraswamy( a, b[, options] )`][@stdlib/random/iter/kumaraswamy]: create an iterator for generating pseudorandom numbers drawn from a Kumaraswamy's double bounded distribution. - [`laplace( mu, b[, options] )`][@stdlib/random/iter/laplace]: create an iterator for generating pseudorandom numbers drawn from a Laplace (double exponential) distribution. - [`levy( mu, c[, options] )`][@stdlib/random/iter/levy]: create an iterator for generating pseudorandom numbers drawn from a Lévy distribution. - [`logistic( mu, s[, options] )`][@stdlib/random/iter/logistic]: create an iterator for generating pseudorandom numbers drawn from a logistic distribution. - [`lognormal( mu, sigma[, options] )`][@stdlib/random/iter/lognormal]: create an iterator for generating pseudorandom numbers drawn from a lognormal distribution. - [`minstdShuffle( [options] )`][@stdlib/random/iter/minstd-shuffle]: create an iterator for a linear congruential pseudorandom number generator (LCG) whose output is shuffled. - [`minstd( [options] )`][@stdlib/random/iter/minstd]: create an iterator for a linear congruential pseudorandom number generator (LCG) based on Park and Miller. - [`mt19937( [options] )`][@stdlib/random/iter/mt19937]: create an iterator for a 32-bit Mersenne Twister pseudorandom number generator. - [`negativeBinomial( r, p[, options] )`][@stdlib/random/iter/negative-binomial]: create an iterator for generating pseudorandom numbers drawn from a negative binomial distribution. - [`normal( mu, sigma[, options] )`][@stdlib/random/iter/normal]: create an iterator for generating pseudorandom numbers drawn from a normal distribution. - [`pareto1( alpha, beta[, options] )`][@stdlib/random/iter/pareto-type1]: create an iterator for generating pseudorandom numbers drawn from a Pareto (Type I) distribution. - [`poisson( lambda[, options] )`][@stdlib/random/iter/poisson]: create an iterator for generating pseudorandom numbers drawn from a Poisson distribution. - [`randi( [options] )`][@stdlib/random/iter/randi]: create an iterator for generating pseudorandom numbers having integer values. - [`randn( [options] )`][@stdlib/random/iter/randn]: create an iterator for generating pseudorandom numbers drawn from a standard normal distribution. - [`randu( [options] )`][@stdlib/random/iter/randu]: create an iterator for generating uniformly distributed pseudorandom numbers between `0` and `1`. - [`rayleigh( sigma[, options] )`][@stdlib/random/iter/rayleigh]: create an iterator for generating pseudorandom numbers drawn from a Rayleigh distribution. - [`t( v[, options] )`][@stdlib/random/iter/t]: create an iterator for generating pseudorandom numbers drawn from a Student's t distribution. - [`triangular( a, b, c[, options] )`][@stdlib/random/iter/triangular]: create an iterator for generating pseudorandom numbers drawn from a triangular distribution. - [`uniform( a, b[, options] )`][@stdlib/random/iter/uniform]: create an iterator for generating pseudorandom numbers drawn from a continuous uniform distribution. - [`weibull( k, lambda[, options] )`][@stdlib/random/iter/weibull]: create an iterator for generating pseudorandom numbers drawn from a Weibull distribution.
## Examples ```javascript var objectKeys = require( '@stdlib/utils/keys' ); var ns = require( '@stdlib/random/iter' ); console.log( objectKeys( ns ) ); ```