Files
GopherGate/target/doc/rand/distr/uniform/struct.UniformInt.html
2026-02-26 12:00:21 -05:00

262 lines
137 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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="The back-end implementing `UniformSampler` for integer types."><title>UniformInt in rand::distr::uniform - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="rand" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">UniformInt</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../../rand/index.html"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></a><h2><a href="../../../rand/index.html">rand</a><span class="version">0.9.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Uniform<wbr>Int</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#implementation-notes" title="Implementation notes">Implementation notes</a></li><li><a href="#bias" title="Bias">Bias</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-UniformInt%3CX%3E" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-UniformInt%3CX%3E" title="Copy">Copy</a></li><li><a href="#impl-Debug-for-UniformInt%3CX%3E" title="Debug">Debug</a></li><li><a href="#impl-Eq-for-UniformInt%3CX%3E" title="Eq">Eq</a></li><li><a href="#impl-PartialEq-for-UniformInt%3CX%3E" title="PartialEq">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-UniformInt%3CX%3E" title="StructuralPartialEq">StructuralPartialEq</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Ci128%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Ci16%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Ci32%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Ci64%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Ci8%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Cu128%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Cu16%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Cu32%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Cu64%3E" title="UniformSampler">UniformSampler</a></li><li><a href="#impl-UniformSampler-for-UniformInt%3Cu8%3E" title="UniformSampler">UniformSampler</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-UniformInt%3CX%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-UniformInt%3CX%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-UniformInt%3CX%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-UniformInt%3CX%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-UniformInt%3CX%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-UniformInt%3CX%3E" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip&#60;V&#62;">VZip&#60;V&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In rand::<wbr>distr::<wbr>uniform</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">rand</a>::<wbr><a href="../index.html">distr</a>::<wbr><a href="index.html">uniform</a></div><h1>Struct <span class="struct">Uniform<wbr>Int</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/rand/distr/uniform_int.rs.html#71-75">Source</a> </span></div><pre class="rust item-decl"><code>pub struct UniformInt&lt;X&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The back-end implementing <a href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler"><code>UniformSampler</code></a> for integer types.</p>
<p>Unless you are implementing <a href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler"><code>UniformSampler</code></a> for your own type, this type
should not be used directly, use <a href="../struct.Uniform.html" title="struct rand::distr::Uniform"><code>Uniform</code></a> instead.</p>
<h2 id="implementation-notes"><a class="doc-anchor" href="#implementation-notes">§</a>Implementation notes</h2>
<p>For simplicity, we use the same generic struct <code>UniformInt&lt;X&gt;</code> for all
integer types <code>X</code>. This gives us only one field type, <code>X</code>; to store unsigned
values of this size, we take use the fact that these conversions are no-ops.</p>
<p>For a closed range, the number of possible numbers we should generate is
<code>range = (high - low + 1)</code>. To avoid bias, we must ensure that the size of
our sample space, <code>zone</code>, is a multiple of <code>range</code>; other values must be
rejected (by replacing with a new random sample).</p>
<p>As a special case, we use <code>range = 0</code> to represent the full range of the
result type (i.e. for <code>new_inclusive($ty::MIN, $ty::MAX)</code>).</p>
<p>The optimum <code>zone</code> is the largest product of <code>range</code> which fits in our
(unsigned) target type. We calculate this by calculating how many numbers we
must reject: <code>reject = (MAX + 1) % range = (MAX - range + 1) % range</code>. Any (large)
product of <code>range</code> will suffice, thus in <code>sample_single</code> we multiply by a
power of 2 via bit-shifting (faster but may cause more rejections).</p>
<p>The smallest integer PRNGs generate is <code>u32</code>. For 8- and 16-bit outputs we
use <code>u32</code> for our <code>zone</code> and samples (because its not slower and because
it reduces the chance of having to reject a sample). In this case we cannot
store <code>zone</code> in the target type since it is too large, however we know
<code>ints_to_reject &lt; range &lt;= $uty::MAX</code>.</p>
<p>An alternative to using a modulus is widening multiply: After a widening
multiply by <code>range</code>, the result is in the high word. Then comparing the low
word against <code>zone</code> makes sure our distribution is uniform.</p>
<h2 id="bias"><a class="doc-anchor" href="#bias">§</a>Bias</h2>
<p>Unless the <code>unbiased</code> feature flag is used, outputs may have a small bias.
In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code> and <code>u8</code>), 48 (<code>i16</code> and <code>u16</code>), 96 (<code>i32</code> and <code>u32</code>), 64 (<code>i64</code>
and <code>u64</code>), 128 (<code>i128</code> and <code>u128</code>).</p>
</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-Clone-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h4></section></summary><div class='docblock'>Returns a duplicate of the value. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#245-247">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-Debug-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.93.1/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-PartialEq-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Ci128%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Ci128%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i128.html">i128</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-4" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#method.sample-4" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-4" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#method.sample_single_inclusive-4" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-4" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#associatedtype.X-4" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i128.html">i128</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-4" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#method.new-4" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-4" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#method.new_inclusive-4" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-4" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#267">Source</a><a href="#method.sample_single-4" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Ci16%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Ci16%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i16.html">i16</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-1" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#method.sample-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-1" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#method.sample_single_inclusive-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-1" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#associatedtype.X-1" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i16.html">i16</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-1" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#method.new-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-1" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#method.new_inclusive-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-1" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#264">Source</a><a href="#method.sample_single-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Ci32%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Ci32%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i32.html">i32</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-2" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#method.sample-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-2" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#method.sample_single_inclusive-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-2" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#associatedtype.X-2" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i32.html">i32</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-2" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#method.new-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-2" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#method.new_inclusive-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-2" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#265">Source</a><a href="#method.sample_single-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Ci64%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Ci64%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-3" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#method.sample-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-3" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#method.sample_single_inclusive-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-3" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#associatedtype.X-3" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-3" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#method.new-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-3" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#method.new_inclusive-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-3" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#266">Source</a><a href="#method.sample_single-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Ci8%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Ci8%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i8.html">i8</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#method.sample" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#method.sample_single_inclusive" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#associatedtype.X" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i8.html">i8</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#method.new" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#method.new_inclusive" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#263">Source</a><a href="#method.sample_single" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Cu128%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Cu128%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u128.html">u128</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-9" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#method.sample-9" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-9" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#method.sample_single_inclusive-9" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-9" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#associatedtype.X-9" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u128.html">u128</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-9" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#method.new-9" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-9" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#method.new_inclusive-9" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-9" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#272">Source</a><a href="#method.sample_single-9" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Cu16%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Cu16%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u16.html">u16</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-6" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#method.sample-6" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-6" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#method.sample_single_inclusive-6" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-6" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#associatedtype.X-6" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u16.html">u16</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-6" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#method.new-6" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-6" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#method.new_inclusive-6" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-6" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#269">Source</a><a href="#method.sample_single-6" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Cu32%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Cu32%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u32.html">u32</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-7" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#method.sample-7" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-7" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#method.sample_single_inclusive-7" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-7" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#associatedtype.X-7" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u32.html">u32</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-7" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#method.new-7" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-7" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#method.new_inclusive-7" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-7" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#270">Source</a><a href="#method.sample_single-7" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Cu64%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Cu64%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u64.html">u64</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-8" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#method.sample-8" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-8" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#method.sample_single_inclusive-8" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-8" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#associatedtype.X-8" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-8" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#method.new-8" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-8" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#method.new_inclusive-8" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-8" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#271">Source</a><a href="#method.sample_single-8" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UniformSampler-for-UniformInt%3Cu8%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#impl-UniformSampler-for-UniformInt%3Cu8%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.UniformSampler.html" title="trait rand::distr::uniform::UniformSampler">UniformSampler</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sample-5" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#method.sample-5" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.sample" class="fn">sample</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>) -&gt; Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a></h4></section></summary><div class="docblock"><p>Sample from distribution, Lemires method, unbiased</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single_inclusive-5" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#method.sample_single_inclusive-5" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single_inclusive" class="fn">sample_single_inclusive</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Sample single value, Canons method, biased</p>
<p>In the worst case, bias affects 1 in <code>2^n</code> samples where n is
56 (<code>i8</code>), 48 (<code>i16</code>), 96 (<code>i32</code>), 64 (<code>i64</code>), 128 (<code>i128</code>).</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.X-5" class="associatedtype trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#associatedtype.X-5" class="anchor">§</a><h4 class="code-header">type <a href="trait.UniformSampler.html#associatedtype.X" class="associatedtype">X</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a></h4></section></summary><div class='docblock'>The type sampled by this implementation.</div></details><details class="toggle method-toggle" open><summary><section id="method.new-5" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#method.new-5" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new" class="fn">new</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive lower bound and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#tymethod.new">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_inclusive-5" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#method.new_inclusive-5" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#tymethod.new_inclusive" class="fn">new_inclusive</a>&lt;B1, B2&gt;(low_b: B1, high_b: B2) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Construct self, with inclusive bounds <code>[low, high]</code>. <a href="trait.UniformSampler.html#tymethod.new_inclusive">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sample_single-5" class="method trait-impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#268">Source</a><a href="#method.sample_single-5" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UniformSampler.html#method.sample_single" class="fn">sample_single</a>&lt;R: <a class="trait" href="../../trait.Rng.html" title="trait rand::Rng">Rng</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, B1, B2&gt;(
low_b: B1,
high_b: B2,
rng: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut R</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>, <a class="enum" href="enum.Error.html" title="enum rand::distr::uniform::Error">Error</a>&gt;<div class="where">where
B1: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B2: <a class="trait" href="trait.SampleBorrow.html" title="trait rand::distr::uniform::SampleBorrow">SampleBorrow</a>&lt;Self::<a class="associatedtype" href="trait.UniformSampler.html#associatedtype.X" title="type rand::distr::uniform::UniformSampler::X">X</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Sample a single value uniformly from a range with inclusive lower bound
and exclusive upper bound <code>[low, high)</code>. <a href="trait.UniformSampler.html#method.sample_single">Read more</a></div></details></div></details><section id="impl-Copy-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-Copy-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section><section id="impl-Eq-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-Eq-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section><section id="impl-StructuralPartialEq-for-UniformInt%3CX%3E" class="impl"><a class="src rightside" href="../../../src/rand/distr/uniform_int.rs.html#69">Source</a><a href="#impl-StructuralPartialEq-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;</h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-UniformInt%3CX%3E" class="impl"><a href="#impl-Freeze-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-UniformInt%3CX%3E" class="impl"><a href="#impl-RefUnwindSafe-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-UniformInt%3CX%3E" class="impl"><a href="#impl-Send-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-UniformInt%3CX%3E" class="impl"><a href="#impl-Sync-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-UniformInt%3CX%3E" class="impl"><a href="#impl-Unpin-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-UniformInt%3CX%3E" class="impl"><a href="#impl-UnwindSafe-for-UniformInt%3CX%3E" class="anchor">§</a><h3 class="code-header">impl&lt;X&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.UniformInt.html" title="struct rand::distr::uniform::UniformInt">UniformInt</a>&lt;X&gt;<div class="where">where
X: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#547">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#549">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dest: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dest</code>. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#785">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#767-769">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/alloc/borrow.rs.html#85-87">Source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/alloc/borrow.rs.html#89">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/alloc/borrow.rs.html#90">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/alloc/borrow.rs.html#94">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.93.1/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#827-829">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#811-813">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a class="src rightside" href="../../../src/ppv_lite86/types.rs.html#221-223">Source</a><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; <a class="trait" href="../../../ppv_lite86/types/trait.VZip.html" title="trait ppv_lite86::types::VZip">VZip</a>&lt;V&gt; for T<div class="where">where
V: <a class="trait" href="../../../ppv_lite86/types/trait.MultiLane.html" title="trait ppv_lite86::types::MultiLane">MultiLane</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a class="src rightside" href="../../../src/ppv_lite86/types.rs.html#226">Source</a><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a href="../../../ppv_lite86/types/trait.VZip.html#tymethod.vzip" class="fn">vzip</a>(self) -&gt; V</h4></section></div></details></div></section></div></main></body></html>