blob: 7e7dea6a6efc546c77ebc1d469288075c36c5650 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Generating random samples from probability distributions."><meta name="keywords" content="rust, rustlang, rust-lang, rand_distr"><title>rand_distr - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https:&#x2F;&#x2F;www.rust-lang.org&#x2F;favicon.ico"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../rand_distr/index.html"><div class="logo-container"><img src="https:&#x2F;&#x2F;www.rust-lang.org&#x2F;logos&#x2F;rust-logo-128x128-blk.png" alt="logo"></div>
</a><h2 class="location">Crate rand_distr</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.4.3</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all rand_distr's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><div id="sidebar-vars" data-name="rand_distr" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../rand_distr/index.html"><img src="https:&#x2F;&#x2F;www.rust-lang.org&#x2F;logos&#x2F;rust-logo-128x128-blk.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div>
<input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">rand_distr</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band">
<a class="srclink" href="../src/rand_distr/lib.rs.html#9-213" title="goto source code">source</a> ·
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div>
<details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generating random samples from probability distributions.</p>
<h3 id="re-exports" class="section-header"><a href="#re-exports">Re-exports</a></h3>
<p>This crate is a super-set of the <a href="../rand/distributions/index.html" title="rand::distributions"><code>rand::distributions</code></a> module. See the
<a href="../rand/distributions/index.html" title="rand::distributions"><code>rand::distributions</code></a> module documentation for an overview of the core
<a href="trait.Distribution.html" title="Distribution"><code>Distribution</code></a> trait and implementations.</p>
<p>The following are re-exported:</p>
<ul>
<li>The <a href="trait.Distribution.html" title="Distribution"><code>Distribution</code></a> trait and <a href="struct.DistIter.html" title="DistIter"><code>DistIter</code></a> helper type</li>
<li>The <a href="struct.Standard.html" title="Standard"><code>Standard</code></a>, <a href="struct.Alphanumeric.html" title="Alphanumeric"><code>Alphanumeric</code></a>, <a href="struct.Uniform.html" title="Uniform"><code>Uniform</code></a>, <a href="struct.OpenClosed01.html" title="OpenClosed01"><code>OpenClosed01</code></a>,
<a href="struct.Open01.html" title="Open01"><code>Open01</code></a>, <a href="struct.Bernoulli.html" title="Bernoulli"><code>Bernoulli</code></a>, and <a href="struct.WeightedIndex.html" title="WeightedIndex"><code>WeightedIndex</code></a> distributions</li>
</ul>
<h3 id="distributions" class="section-header"><a href="#distributions">Distributions</a></h3>
<p>This crate provides the following probability distributions:</p>
<ul>
<li>Related to real-valued quantities that grow linearly
(e.g. errors, offsets):
<ul>
<li><a href="struct.Normal.html" title="Normal"><code>Normal</code></a> distribution, and <a href="struct.StandardNormal.html" title="StandardNormal"><code>StandardNormal</code></a> as a primitive</li>
<li><a href="struct.SkewNormal.html" title="SkewNormal"><code>SkewNormal</code></a> distribution</li>
<li><a href="struct.Cauchy.html" title="Cauchy"><code>Cauchy</code></a> distribution</li>
</ul>
</li>
<li>Related to Bernoulli trials (yes/no events, with a given probability):
<ul>
<li><a href="struct.Binomial.html" title="Binomial"><code>Binomial</code></a> distribution</li>
<li><a href="struct.Geometric.html" title="Geometric"><code>Geometric</code></a> distribution</li>
<li><a href="struct.Hypergeometric.html" title="Hypergeometric"><code>Hypergeometric</code></a> distribution</li>
</ul>
</li>
<li>Related to positive real-valued quantities that grow exponentially
(e.g. prices, incomes, populations):
<ul>
<li><a href="struct.LogNormal.html" title="LogNormal"><code>LogNormal</code></a> distribution</li>
</ul>
</li>
<li>Related to the occurrence of independent events at a given rate:
<ul>
<li><a href="struct.Pareto.html" title="Pareto"><code>Pareto</code></a> distribution</li>
<li><a href="struct.Poisson.html" title="Poisson"><code>Poisson</code></a> distribution</li>
<li><a href="struct.Exp.html" title="Exp"><code>Exp</code></a>onential distribution, and <a href="struct.Exp1.html" title="Exp1"><code>Exp1</code></a> as a primitive</li>
<li><a href="struct.Weibull.html" title="Weibull"><code>Weibull</code></a> distribution</li>
<li><a href="struct.Gumbel.html" title="Gumbel"><code>Gumbel</code></a> distribution</li>
<li><a href="struct.Frechet.html" title="Frechet"><code>Frechet</code></a> distribution</li>
<li><a href="struct.Zeta.html" title="Zeta"><code>Zeta</code></a> distribution</li>
<li><a href="struct.Zipf.html" title="Zipf"><code>Zipf</code></a> distribution</li>
</ul>
</li>
<li>Gamma and derived distributions:
<ul>
<li><a href="struct.Gamma.html" title="Gamma"><code>Gamma</code></a> distribution</li>
<li><a href="struct.ChiSquared.html" title="ChiSquared"><code>ChiSquared</code></a> distribution</li>
<li><a href="struct.StudentT.html" title="StudentT"><code>StudentT</code></a> distribution</li>
<li><a href="struct.FisherF.html" title="FisherF"><code>FisherF</code></a> distribution</li>
</ul>
</li>
<li>Triangular distribution:
<ul>
<li><a href="struct.Beta.html" title="Beta"><code>Beta</code></a> distribution</li>
<li><a href="struct.Triangular.html" title="Triangular"><code>Triangular</code></a> distribution</li>
</ul>
</li>
<li>Multivariate probability distributions
<ul>
<li><a href="struct.Dirichlet.html" title="Dirichlet"><code>Dirichlet</code></a> distribution</li>
<li><a href="struct.UnitSphere.html" title="UnitSphere"><code>UnitSphere</code></a> distribution</li>
<li><a href="struct.UnitBall.html" title="UnitBall"><code>UnitBall</code></a> distribution</li>
<li><a href="struct.UnitCircle.html" title="UnitCircle"><code>UnitCircle</code></a> distribution</li>
<li><a href="struct.UnitDisc.html" title="UnitDisc"><code>UnitDisc</code></a> distribution</li>
</ul>
</li>
<li>Alternative implementation for weighted index sampling
<ul>
<li><a href="weighted_alias/struct.WeightedAliasIndex.html" title="WeightedAliasIndex"><code>WeightedAliasIndex</code></a> distribution</li>
</ul>
</li>
<li>Misc. distributions
<ul>
<li><a href="struct.InverseGaussian.html" title="InverseGaussian"><code>InverseGaussian</code></a> distribution</li>
<li><a href="struct.NormalInverseGaussian.html" title="NormalInverseGaussian"><code>NormalInverseGaussian</code></a> distribution</li>
</ul>
</li>
</ul>
</div></details><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use weighted_alias::<a class="struct" href="weighted_alias/struct.WeightedAliasIndex.html" title="struct rand_distr::weighted_alias::WeightedAliasIndex">WeightedAliasIndex</a>;</code></div><div class="item-right docblock-short"><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div></div><div class="item-row"><div class="item-left import-item"><code>pub use <a class="mod" href="../num_traits/index.html" title="mod num_traits">num_traits</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="uniform/index.html" title="rand_distr::uniform mod">uniform</a></div><div class="item-right docblock-short"><p>A distribution uniformly sampling numbers within a given range.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="weighted_alias/index.html" title="rand_distr::weighted_alias mod">weighted_alias</a><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div><div class="item-right docblock-short"><p>This module contains an implementation of alias method for sampling random
indices with probabilities proportional to a collection of weights.</p>
</div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Alphanumeric.html" title="rand_distr::Alphanumeric struct">Alphanumeric</a></div><div class="item-right docblock-short"><p>Sample a <code>u8</code>, uniformly distributed over ASCII letters and numbers:
a-z, A-Z and 0-9.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Bernoulli.html" title="rand_distr::Bernoulli struct">Bernoulli</a></div><div class="item-right docblock-short"><p>The Bernoulli distribution.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Beta.html" title="rand_distr::Beta struct">Beta</a></div><div class="item-right docblock-short"><p>The Beta distribution with shape parameters <code>alpha</code> and <code>beta</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Binomial.html" title="rand_distr::Binomial struct">Binomial</a></div><div class="item-right docblock-short"><p>The binomial distribution <code>Binomial(n, p)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Cauchy.html" title="rand_distr::Cauchy struct">Cauchy</a></div><div class="item-right docblock-short"><p>The Cauchy distribution <code>Cauchy(median, scale)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ChiSquared.html" title="rand_distr::ChiSquared struct">ChiSquared</a></div><div class="item-right docblock-short"><p>The chi-squared distribution <code>χ²(k)</code>, where <code>k</code> is the degrees of
freedom.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Dirichlet.html" title="rand_distr::Dirichlet struct">Dirichlet</a><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div><div class="item-right docblock-short"><p>The Dirichlet distribution <code>Dirichlet(alpha)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DistIter.html" title="rand_distr::DistIter struct">DistIter</a></div><div class="item-right docblock-short"><p>An iterator that generates random values of <code>T</code> with distribution <code>D</code>,
using <code>R</code> as the source of randomness.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Exp.html" title="rand_distr::Exp struct">Exp</a></div><div class="item-right docblock-short"><p>The exponential distribution <code>Exp(lambda)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Exp1.html" title="rand_distr::Exp1 struct">Exp1</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the exponential distribution,
with rate parameter <code>λ = 1</code>. This is equivalent to <code>Exp::new(1.0)</code> or
sampling with <code>-rng.gen::&lt;f64&gt;().ln()</code>, but faster.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.FisherF.html" title="rand_distr::FisherF struct">FisherF</a></div><div class="item-right docblock-short"><p>The Fisher F distribution <code>F(m, n)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Frechet.html" title="rand_distr::Frechet struct">Frechet</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the Fréchet distribution</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Gamma.html" title="rand_distr::Gamma struct">Gamma</a></div><div class="item-right docblock-short"><p>The Gamma distribution <code>Gamma(shape, scale)</code> distribution.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Geometric.html" title="rand_distr::Geometric struct">Geometric</a></div><div class="item-right docblock-short"><p>The geometric distribution <code>Geometric(p)</code> bounded to <code>[0, u64::MAX]</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Gumbel.html" title="rand_distr::Gumbel struct">Gumbel</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the Gumbel distribution</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Hypergeometric.html" title="rand_distr::Hypergeometric struct">Hypergeometric</a></div><div class="item-right docblock-short"><p>The hypergeometric distribution <code>Hypergeometric(N, K, n)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.InverseGaussian.html" title="rand_distr::InverseGaussian struct">InverseGaussian</a></div><div class="item-right docblock-short"><p>The <a href="https://en.wikipedia.org/wiki/Inverse_Gaussian_distribution">inverse Gaussian distribution</a></p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.LogNormal.html" title="rand_distr::LogNormal struct">LogNormal</a></div><div class="item-right docblock-short"><p>The log-normal distribution <code>ln N(mean, std_dev**2)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Normal.html" title="rand_distr::Normal struct">Normal</a></div><div class="item-right docblock-short"><p>The normal distribution <code>N(mean, std_dev**2)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.NormalInverseGaussian.html" title="rand_distr::NormalInverseGaussian struct">NormalInverseGaussian</a></div><div class="item-right docblock-short"><p>The <a href="https://en.wikipedia.org/wiki/Normal-inverse_Gaussian_distribution">normal-inverse Gaussian distribution</a></p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Open01.html" title="rand_distr::Open01 struct">Open01</a></div><div class="item-right docblock-short"><p>A distribution to sample floating point numbers uniformly in the open
interval <code>(0, 1)</code>, i.e. not including either endpoint.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.OpenClosed01.html" title="rand_distr::OpenClosed01 struct">OpenClosed01</a></div><div class="item-right docblock-short"><p>A distribution to sample floating point numbers uniformly in the half-open
interval <code>(0, 1]</code>, i.e. including 1 but not 0.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Pareto.html" title="rand_distr::Pareto struct">Pareto</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the Pareto distribution</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Pert.html" title="rand_distr::Pert struct">Pert</a></div><div class="item-right docblock-short"><p>The PERT distribution.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Poisson.html" title="rand_distr::Poisson struct">Poisson</a></div><div class="item-right docblock-short"><p>The Poisson distribution <code>Poisson(lambda)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SkewNormal.html" title="rand_distr::SkewNormal struct">SkewNormal</a></div><div class="item-right docblock-short"><p>The <a href="https://en.wikipedia.org/wiki/Skew_normal_distribution">skew normal distribution</a> <code>SN(location, scale, shape)</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Standard.html" title="rand_distr::Standard struct">Standard</a></div><div class="item-right docblock-short"><p>A generic random value distribution, implemented for many primitive types.
Usually generates values with a numerically uniform distribution, and with a
range appropriate to the type.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.StandardGeometric.html" title="rand_distr::StandardGeometric struct">StandardGeometric</a></div><div class="item-right docblock-short"><p>Samples integers according to the geometric distribution with success
probability <code>p = 0.5</code>. This is equivalent to <code>Geometeric::new(0.5)</code>,
but faster.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.StandardNormal.html" title="rand_distr::StandardNormal struct">StandardNormal</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the normal distribution
<code>N(0, 1)</code> (a.k.a. a standard normal, or Gaussian). This is equivalent to
<code>Normal::new(0.0, 1.0)</code> but faster.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.StudentT.html" title="rand_distr::StudentT struct">StudentT</a></div><div class="item-right docblock-short"><p>The Student t distribution, <code>t(nu)</code>, where <code>nu</code> is the degrees of
freedom.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Triangular.html" title="rand_distr::Triangular struct">Triangular</a></div><div class="item-right docblock-short"><p>The triangular distribution.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Uniform.html" title="rand_distr::Uniform struct">Uniform</a></div><div class="item-right docblock-short"><p>Sample values uniformly between two bounds.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.UnitBall.html" title="rand_distr::UnitBall struct">UnitBall</a></div><div class="item-right docblock-short"><p>Samples uniformly from the unit ball (surface and interior) in three
dimensions.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.UnitCircle.html" title="rand_distr::UnitCircle struct">UnitCircle</a></div><div class="item-right docblock-short"><p>Samples uniformly from the edge of the unit circle in two dimensions.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.UnitDisc.html" title="rand_distr::UnitDisc struct">UnitDisc</a></div><div class="item-right docblock-short"><p>Samples uniformly from the unit disc in two dimensions.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.UnitSphere.html" title="rand_distr::UnitSphere struct">UnitSphere</a></div><div class="item-right docblock-short"><p>Samples uniformly from the surface of the unit sphere in three dimensions.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Weibull.html" title="rand_distr::Weibull struct">Weibull</a></div><div class="item-right docblock-short"><p>Samples floating-point numbers according to the Weibull distribution</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WeightedIndex.html" title="rand_distr::WeightedIndex struct">WeightedIndex</a><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div><div class="item-right docblock-short"><p>A distribution using weighted sampling of discrete items</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Zeta.html" title="rand_distr::Zeta struct">Zeta</a></div><div class="item-right docblock-short"><p>Samples integers according to the <a href="https://en.wikipedia.org/wiki/Zeta_distribution">zeta distribution</a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Zipf.html" title="rand_distr::Zipf struct">Zipf</a></div><div class="item-right docblock-short"><p>Samples integers according to the Zipf distribution.</p>
</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.BernoulliError.html" title="rand_distr::BernoulliError enum">BernoulliError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Bernoulli::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.BetaError.html" title="rand_distr::BetaError enum">BetaError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Beta::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.BinomialError.html" title="rand_distr::BinomialError enum">BinomialError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Binomial::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.CauchyError.html" title="rand_distr::CauchyError enum">CauchyError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Cauchy::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ChiSquaredError.html" title="rand_distr::ChiSquaredError enum">ChiSquaredError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>ChiSquared::new</code> and <code>StudentT::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.DirichletError.html" title="rand_distr::DirichletError enum">DirichletError</a><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div><div class="item-right docblock-short"><p>Error type returned from <code>Dirchlet::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ExpError.html" title="rand_distr::ExpError enum">ExpError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Exp::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.FisherFError.html" title="rand_distr::FisherFError enum">FisherFError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>FisherF::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.FrechetError.html" title="rand_distr::FrechetError enum">FrechetError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Frechet::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.GammaError.html" title="rand_distr::GammaError enum">GammaError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Gamma::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.GeoError.html" title="rand_distr::GeoError enum">GeoError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Geometric::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.GumbelError.html" title="rand_distr::GumbelError enum">GumbelError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Gumbel::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.HyperGeoError.html" title="rand_distr::HyperGeoError enum">HyperGeoError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Hypergeometric::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.InverseGaussianError.html" title="rand_distr::InverseGaussianError enum">InverseGaussianError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>InverseGaussian::new</code></p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.NormalError.html" title="rand_distr::NormalError enum">NormalError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Normal::new</code> and <code>LogNormal::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.NormalInverseGaussianError.html" title="rand_distr::NormalInverseGaussianError enum">NormalInverseGaussianError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>NormalInverseGaussian::new</code></p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ParetoError.html" title="rand_distr::ParetoError enum">ParetoError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Pareto::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.PertError.html" title="rand_distr::PertError enum">PertError</a></div><div class="item-right docblock-short"><p>Error type returned from <a href="struct.Pert.html" title="Pert"><code>Pert</code></a> constructors.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.PoissonError.html" title="rand_distr::PoissonError enum">PoissonError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Poisson::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.SkewNormalError.html" title="rand_distr::SkewNormalError enum">SkewNormalError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>SkewNormal::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.TriangularError.html" title="rand_distr::TriangularError enum">TriangularError</a></div><div class="item-right docblock-short"><p>Error type returned from <a href="struct.Triangular.html#method.new" title="Triangular::new"><code>Triangular::new</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.WeibullError.html" title="rand_distr::WeibullError enum">WeibullError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Weibull::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.WeightedError.html" title="rand_distr::WeightedError enum">WeightedError</a><span class="stab portability" title="This is supported on crate feature `alloc` only"><code>alloc</code></span></div><div class="item-right docblock-short"><p>Error type returned from <code>WeightedIndex::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ZetaError.html" title="rand_distr::ZetaError enum">ZetaError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Zeta::new</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ZipfError.html" title="rand_distr::ZipfError enum">ZipfError</a></div><div class="item-right docblock-short"><p>Error type returned from <code>Zipf::new</code>.</p>
</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Distribution.html" title="rand_distr::Distribution trait">Distribution</a></div><div class="item-right docblock-short"><p>Types (distributions) that can be used to create a random instance of <code>T</code>.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="rand_distr" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.60.0-nightly (1bd4fdc94 2022-01-12)" ></div>
</body></html>