o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn experimental%Patrick Perry <patperry@stanford.edu>(opqrstuvwxyz{|}~@Allocate a new quasi-random number generator of the given type, 8 generating points with the given number of dimensions. 6Reset the generator to the beginning of its sequence. BStores the next point from the generator in the given buffer. The J space available in the buffer must match the dimension of the generator. @ The components of the sample will each lie in the range (0,1). &Gets the next sample point as a list. Get the name of the generator. The dimension of the sequence. /Get the size of the generator state, in bytes. Get the generator state. DSet the generator state. The input array should have size equal to  getSize: of the generator; otherwise, strange things will happen. copyQRNG dst src5 copies the state from one generator to another. The + two generators must have the same type. CAllocate a new quasi-random number generator that is exact copy of  another generator. DThe maximum dimension of samples that the given generator supports.    experimental%Patrick Perry <patperry@stanford.edu>   experimental%Patrick Perry <patperry@stanford.edu>%HAllocate a new random number generator of the given type and initialize  it with the default seed. )Seed the generator with the given value. *Returns a value uniform in [rngMin, rngMax] !Returns a value uniform on [0,1) !Returns a value uniform on (0,1) $Returns an integer uniform on [0,n-1]. n must be greater than 0. Get the name of the generator. 5Get the largest value that the generator can return. 6Get the smallest value that the generator can return. /Get the size of the generator state, in bytes. Get the generator state. !ASet the generator state. The input array should have size equal  to getSize: of the generator; otherwise, strange things will happen. "copyRNG dst src6 copies the state from one generator to another. The + two generators must have the same type. #HAllocate a new random number generator that is an exact copy of another  generator $% !"#$% !"#$% experimental%Patrick Perry <patperry@stanford.edu>&gaussianPdf x sigma, computes the probabililty density p(x) for # a Gaussian distribution with mean 0 and standard deviation sigma. 'gaussianP x sigma8 computes the cumulative distribution function P(x) for # a Gaussian distribution with mean 0 and standard deviation sigma. (gaussianQ x sigma8 computes the cumulative distribution function Q(x) for # a Gaussian distribution with mean 0 and standard deviation sigma. )gaussianPInv p sigma5 computes the inverse of the cumulative distribution / function of a Gaussian distribution with mean 0 and standard deviation  sigma . It returns x such that P(x) = p. *gaussianPInv q sigma5 computes the inverse of the cumulative distribution / function of a Gaussian distribution with mean 0 and standard deviation  sigma . It returns x such that Q(x) = q. +getGaussian r sigma) gets a normal random variable with mean  0 and standard deviation sigma. & This uses the Box-Mueller algorithm. ,getGaussianZiggurat r sigma) gets a normal random variable with mean  0 and standard deviation sigma. 3 This uses the Marsaglia-Tsang ziggurat algorithm. -getGaussianRatioMethod r sigma) gets a normal random variable with mean  0 and standard deviation sigma. 4 This uses the Kinderman-Monahan-Leva ratio method. .ugaussianPdf x, computes the probabililty density p(x) for # a Gaussian distribution with mean 0 and standard deviation 1. / ugaussianP x8 computes the cumulative distribution function P(x) for # a Gaussian distribution with mean 0 and standard deviation 1. 0 ugaussianQ x8 computes the cumulative distribution function Q(x) for # a Gaussian distribution with mean 0 and standard deviation 1. 1ugaussianPInv p5 computes the inverse of the cumulative distribution / function of a Gaussian distribution with mean 0 and standard deviation  1 . It returns x such that P(x) = p. 2ugaussianPInv q5 computes the inverse of the cumulative distribution / function of a Gaussian distribution with mean 0 and standard deviation  1 . It returns x such that Q(x) = q. 3getUGaussian r) gets a normal random variable with mean  0 and standard deviation 1. & This uses the Box-Mueller algorithm. 4getUGaussianRatioMethod r) gets a normal random variable with mean  0 and standard deviation 1. 4 This uses the Kinderman-Monahan-Leva ratio method. 5 flatPdf x a b" computes the probability density p(x) at x for  a uniform distribution from a to b. 6 flatP x a b/ computes the cumulative distribution function P(x). 7 flatQ x a b/ computes the cumulative distribution function Q(x). 8flatPInv p a b5 computes the inverse of the cumulative distribution  and returns x so that function P(x) = p. 9flatQInv q a b5 computes the inverse of the cumulative distribution  and returns x so that function Q(x) = q. : getFlat r a b" gets a value uniformly chosen in [a,b). ;getExponential r mu% gets a random exponential with mean mu. <exponentialPdf x mu computes the density at x of an exponential  with mean mu. =>?@AgetLevy r c alpha/ gets a variate from the Levy symmetric stable  distribution with scale c and exponent alpha. The algorithm only  works for 0 <= alpha <= 2. BgetLevySkew r c alpha beta* gets a variate from the Levy skew stable  distribution with scale c , exponent alpha, and skewness parameter  beta0. The skewness parameter must lie in the range [-1,1]. The  algorithm only works for 0 <= alpha <= 2. CpoissonPdf k mu# evaluates the probability density p(k) at k for " a Poisson distribution with mean mu. D poissonP k mu0 evaluates the cumulative distribution function P(k)  at k& for a Poisson distribution with mean mu. E poissonQ k mu0 evaluates the cumulative distribution function Q(k)  at k& for a Poisson distribution with mean mu. FgetPoisson r mu* gets a poisson random variable with mean mu. G cauchyPdf x a# evaluates the probability density p(x) at x 0 for a Cauchy distribution with scale parameter a. The density  is given by p(x) dx = { 1 over ap i (1 + (x/ a^2)) } dx. H getCauchy r a! gets a random cauchy with scale a. IJKLM betaPdf x a b# evaluates the probability density p(x) at x ) for a Beta distribution with parameters a and b. The density  is given by  p(x) dx = {G amma(a+b) over Gamma(a) Gamma(b)} x^{a-1} (1-x)^{b-1} dx  for 0 <= x <= 1. N getBeta r a b$ gets a random beta with parameters a and b. OPQRSlogisticPdf x a# evaluates the probability density p(x) at x 2 for a logistic distribution with scale parameter a. The density  is given by  p(x) dx = { exp(-xa) \over a (1 + \exp(-x a))^2 } dx. TgetLogistic r a# gets a random logistic with scale a. UVWXYparetoPdf x a b# evaluates the probability density p(x) at x ) for a Pareto distribution with exponent a and scale b. The density  is given by  p(x) dx = (ab)  (x/ b)^{a+1} dx for x >= b. ZgetPareto r a b$ gets a random Pareto with exponent a and scale b. [\]^_weibullPdf x a b# evaluates the probability density p(x) at x ' for a Weibull distribution with scale a and exponent b. The density  is given by  p(x) dx = {b over a^b} x^{b-1} exp(-(x/a)^b) dx for x >= 0. `getWeibull r a b" gets a random Weibull with scale a and exponent b. abcdegammaPdf x a b# evaluates the probability density p(x) at x * for a gamma distribution with parameters a and b. The density  is given by p(x) dx = p(x) dx = {1 over Gamma(a) b^a} x^{a-1} e^{-x/b} dx  for x > 0. fgetGamma r a b% gets a random gamma with parameters a and b. . Uses the Marsagli-Tsang fast gamma method. ggetGammaKnuth r a b% gets a random gamma with parameters a and b. + Uses the algorithms from Knuth (vol 2). hijkldirichletPdf xs alphas# evaluates the probability density  p(xs) at xs. for a Dirichlet distribution with parameters  alphas , where all alphas are positive (strictly greater  than zero). Note that xs and alphas should have the same  length.  xs alphasm8dirichletLnPdf xs alphas == log (dirichletPdf xs alphas),  but more efficient.  xs alphasngetDirichlet r alphas gets a random sample from a ( Dirichlet distribution with parameters alphas , where all  alphas are positive. I&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnI&'()*+,-./0123456789:<=>?@;ABCDEFHGIJKLNMOPQRTSUVWXZY[\]^`_abcdfgehijknlmI&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn experimental%Patrick Perry <patperry@stanford.edu> !"#$% !"#$%        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~gsl-random-0.4.2GSL.Random.QuasiGSL.Random.GenGSL.Random.DistGSL.Random.Quasi.InternalGSL.Random.Gen.InternalQRNGTypeQRNGMkQRNGnewQRNG resetQRNG getSample getListSamplegetName getDimensiongetSizegetStatesetStatecopyQRNG cloneQRNG niederreitersobolhalton reverseHalton maxDimensionRNGTypeRNGMkRNGnewRNGsetSeed getUniform getUniformPos getUniformIntgetMaxgetMincopyRNGcloneRNGmt19937rngType gaussianPdf gaussianP gaussianQ gaussianPInv gaussianQInv getGaussiangetGaussianZigguratgetGaussianRatioMethod ugaussianPdf ugaussianP ugaussianQ ugaussianPInv ugaussianQInv getUGaussiangetUGaussianRatioMethodflatPdfflatPflatQflatPInvflatQInvgetFlatgetExponentialexponentialPdf exponentialP exponentialQexponentialPInvexponentialQInvgetLevy getLevySkew poissonPdfpoissonPpoissonQ getPoisson cauchyPdf getCauchycauchyPcauchyQ cauchyPInv cauchyQInvbetaPdfgetBetabetaPbetaQbetaPInvbetaQInv logisticPdf getLogistic logisticP logisticQ logisticPInv logisticQInv paretoPdf getParetoparetoPparetoQ paretoPInv paretoQInv weibullPdf getWeibullweibullPweibullQ weibullPInv weibullQInvgammaPdfgetGamma getGammaKnuthgammaPgammaQ gammaPInv gammaQInv dirichletPdfdirichletLnPdf getDirichletgsl_qrng_get_max_dimensiongsl_qrng_get_reversehaltongsl_qrng_get_haltongsl_qrng_get_sobolgsl_qrng_get_niederreiter_2gsl_qrng_clonegsl_qrng_memcpygsl_qrng_state gsl_qrng_sizegsl_qrng_get_dimension gsl_qrng_name gsl_qrng_get gsl_qrng_initp_gsl_qrng_freegsl_qrng_alloc MkQRNGTypegetNiederreitergetSobol getHaltongetReverseHaltongetMaxDimensiongsl_rng_types_setupc_strcmp gsl_rng_clonegsl_rng_memcpy gsl_rng_state gsl_rng_size gsl_rng_min gsl_rng_max gsl_rng_namegsl_rng_uniform_intgsl_rng_uniform_posgsl_rng_uniform gsl_rng_get gsl_rng_setp_gsl_rng_free gsl_rng_alloc MkRNGType getRngTypegsl_ran_dirichletgsl_ran_dirichlet_lnpdfgsl_ran_dirichlet_pdfgsl_cdf_gamma_Qinvgsl_cdf_gamma_Pinvgsl_cdf_gamma_Qgsl_cdf_gamma_Pgsl_ran_gamma_knuth gsl_ran_gammagsl_ran_gamma_pdfgsl_cdf_weibull_Qinvgsl_cdf_weibull_Pinvgsl_cdf_weibull_Qgsl_cdf_weibull_Pgsl_ran_weibullgsl_ran_weibull_pdfgsl_cdf_pareto_Qinvgsl_cdf_pareto_Pinvgsl_cdf_pareto_Qgsl_cdf_pareto_Pgsl_ran_paretogsl_ran_pareto_pdfgsl_cdf_logistic_Qinvgsl_cdf_logistic_Pinvgsl_cdf_logistic_Qgsl_cdf_logistic_Pgsl_ran_logisticgsl_ran_logistic_pdfgsl_cdf_beta_Qinvgsl_cdf_beta_Pinvgsl_cdf_beta_Qgsl_cdf_beta_P gsl_ran_betagsl_ran_beta_pdfgsl_cdf_cauchy_Qinvgsl_cdf_cauchy_Pinvgsl_cdf_cauchy_Qgsl_cdf_cauchy_Pgsl_ran_cauchygsl_ran_cauchy_pdfgsl_ran_poissongsl_cdf_poisson_Qgsl_cdf_poisson_Pgsl_ran_poisson_pdfgsl_ran_levy_skew gsl_ran_levygsl_cdf_exponential_Qinvgsl_cdf_exponential_Pinvgsl_cdf_exponential_Qgsl_cdf_exponential_Pgsl_ran_exponential_pdfgsl_ran_exponential gsl_ran_flatgsl_cdf_flat_Qinvgsl_cdf_flat_Pinvgsl_cdf_flat_Qgsl_cdf_flat_Pgsl_ran_flat_pdfgsl_ran_ugaussian_ratio_methodgsl_ran_ugaussiangsl_cdf_ugaussian_Qinvgsl_cdf_ugaussian_Pinvgsl_cdf_ugaussian_Qgsl_cdf_ugaussian_Pgsl_ran_ugaussian_pdfgsl_ran_gaussian_ratio_methodgsl_ran_gaussian_zigguratgsl_ran_gaussiangsl_cdf_gaussian_Qinvgsl_cdf_gaussian_Pinvgsl_cdf_gaussian_Qgsl_cdf_gaussian_Pgsl_ran_gaussian_pdfdirichletPdfHelper liftDouble liftDouble2 liftDouble3liftRan0liftRan1liftRan2liftRan3