Files
hustoj/web/cppreference-zh/chmhelp/cpp-header-random.html
2025-08-01 12:57:54 +08:00

1602 lines
155 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#26631;&#20934;&#24211;&#22836;&#25991;&#20214; &lt;random&gt;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_header_random skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">&#26631;&#20934;&#24211;&#22836;&#25991;&#20214;</span> &lt;random&gt;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-header.html">header</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#27492;&#22836;&#25991;&#20214;&#26159;<a href="cpp-numeric-random.html">&#20266;&#38543;&#26426;&#25968;&#29983;&#25104;</a>&#24211;&#30340;&#19968;&#37096;&#20998;&#12290;</p>
<table class="t-dsc-begin">
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E5.8C.85.E5.90.AB">&#21253;&#21547;</span></h3>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-header-initializer_list.html"><span class="t-lines"><span>&lt;initializer_list&gt;</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td><span class="t-lc"><a href="cpp-utility-initializer_list.html">std::initializer_list</a></span> &#31867;&#27169;&#26495;</td>
</tr>
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E6.A6.82.E5.BF.B5">&#27010;&#24565;</span></h3>
</td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E5.9D.87.E5.8C.80.E9.9A.8F.E6.9C.BA.E4.BD.8D.E7.94.9F.E6.88.90.E5.99.A8.E8.A6.81.E6.B1.82">&#22343;&#21248;&#38543;&#26426;&#20301;&#29983;&#25104;&#22120;&#35201;&#27714;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-uniform_random_bit_generator.html"><span class="t-lines"><span>uniform_random_bit_generator</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
</div>
</td>
<td>&#25351;&#23450;&#31867;&#22411;&#20855;&#22791;&#20316;&#20026;&#22343;&#21248;&#38543;&#26426;&#20301;&#29983;&#25104;&#22120;&#30340;&#36164;&#26684;<br />
<span class="t-mark">(&#27010;&#24565;)</span></td>
</tr>
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E7.B1.BB">&#31867;</span></h3>
</td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E9.9A.8F.E6.9C.BA.E6.95.B0.E5.BC.95.E6.93.8E">&#38543;&#26426;&#25968;&#24341;&#25806;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-linear_congruential_engine.html"><span class="t-lines"><span>linear_congruential_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#29616;<a href="https://en.wikipedia.org/wiki/Linear_congruential_generator" class="extiw" title="enwiki:Linear congruential generator">&#32447;&#24615;&#21516;&#20313;</a>&#31639;&#27861;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-mersenne_twister_engine.html"><span class="t-lines"><span>mersenne_twister_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#29616;<a href="https://en.wikipedia.org/wiki/Mersenne_twister" class="extiw" title="enwiki:Mersenne twister">&#26757;&#26862;&#32544;&#32469;&#22120;</a>&#31639;&#27861;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-subtract_with_carry_engine.html"><span class="t-lines"><span>subtract_with_carry_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#29616;&#24102;&#36827;&#20301;&#20943;&#65288;&#19968;&#31181;<a href="https://en.wikipedia.org/wiki/Lagged_Fibonacci_generator" class="extiw" title="enwiki:Lagged Fibonacci generator">&#24310;&#36831;&#26000;&#27874;&#37027;&#22865;</a>&#65289;&#31639;&#27861;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E9.9A.8F.E6.9C.BA.E6.95.B0.E5.BC.95.E6.93.8E.E9.80.82.E9.85.8D.E5.99.A8">&#38543;&#26426;&#25968;&#24341;&#25806;&#36866;&#37197;&#22120;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-discard_block_engine.html"><span class="t-lines"><span>discard_block_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#33293;&#24323;&#38543;&#26426;&#25968;&#24341;&#25806;&#30340;&#26576;&#20123;&#36755;&#20986;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-independent_bits_engine.html"><span class="t-lines"><span>independent_bits_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23558;&#19968;&#20010;&#38543;&#26426;&#25968;&#24341;&#25806;&#30340;&#36755;&#20986;&#25171;&#21253;&#20026;&#25351;&#23450;&#20301;&#25968;&#30340;&#22359;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-shuffle_order_engine.html"><span class="t-lines"><span>shuffle_order_engine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20197;&#19981;&#21516;&#39034;&#24207;&#21457;&#36865;&#19968;&#20010;&#38543;&#26426;&#25968;&#24341;&#25806;&#30340;&#36755;&#20986;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E9.A2.84.E5.AE.9A.E4.B9.89.E7.94.9F.E6.88.90.E5.99.A8">&#39044;&#23450;&#20041;&#29983;&#25104;&#22120;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td><code>minstd_rand0</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-linear_congruential_engine.html"><span class="kw1480">std::<span class="me2">linear_congruential_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw126">std::<span class="me2">uint_fast32_t</span></span></a>, <span class="nu0">16807</span>, <span class="nu0">0</span>, <span class="nu0">2147483647</span><span class="sy1">&gt;</span></span></span><br />
<p>&#30001; Lewis&#12289;Goodman &#21450; Miller &#21457;&#29616;&#20110; 1969&#65292;&#30001; Park &#19982; Miller &#20110; 1988 &#37319;&#32435;&#20026;&ldquo;&#26368;&#23567;&#26631;&#20934;&rdquo;</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>minstd_rand</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-linear_congruential_engine.html"><span class="kw1480">std::<span class="me2">linear_congruential_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw126">std::<span class="me2">uint_fast32_t</span></span></a>, <span class="nu0">48271</span>, <span class="nu0">0</span>, <span class="nu0">2147483647</span><span class="sy1">&gt;</span></span></span><br />
<p>&#36739;&#26032;&#30340;&ldquo;&#26368;&#23567;&#26631;&#20934;&rdquo;&#65292;&#20026; Park&#12289; Miller &#21450; Stockmeyer &#20110; 1993 &#25512;&#33616;</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>mt19937</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-mersenne_twister_engine.html"><span class="kw1481">std::<span class="me2">mersenne_twister_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw126">std::<span class="me2">uint_fast32_t</span></span></a>, <span class="nu0">32</span>, <span class="nu0">624</span>, <span class="nu0">397</span>, <span class="nu0">31</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0x9908b0df</span>, <span class="nu0">11</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0xffffffff</span>, <span class="nu0">7</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0x9d2c5680</span>, <span class="nu0">15</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0xefc60000</span>, <span class="nu0">18</span>, <span class="nu0">1812433253</span><span class="sy1">&gt;</span></span></span><br />
32 &#20301;&#26757;&#26862;&#32544;&#32469;&#22120;&#65292;&#30001;&#26494;&#26412;&#19982;&#35199;&#26449;&#35774;&#35745;&#20110; 1998</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>mt19937_64</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-mersenne_twister_engine.html"><span class="kw1481">std::<span class="me2">mersenne_twister_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw127">std::<span class="me2">uint_fast64_t</span></span></a>, <span class="nu0">64</span>, <span class="nu0">312</span>, <span class="nu0">156</span>, <span class="nu0">31</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0xb5026f5aa96619e9</span>, <span class="nu0">29</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0x5555555555555555</span>, <span class="nu0">17</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0x71d67fffeda60000</span>, <span class="nu0">37</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu12">0xfff7eee000000000</span>, <span class="nu0">43</span>, <span class="nu0">6364136223846793005</span><span class="sy1">&gt;</span></span></span><br />
64 &#20301;&#26757;&#26862;&#32544;&#32469;&#22120;&#65292;&#30001;&#26494;&#26412;&#19982;&#35199;&#26449;&#35774;&#35745;&#20110; 2000</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>ranlux24_base</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-subtract_with_carry_engine.html"><span class="kw1482">std::<span class="me2">subtract_with_carry_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw126">std::<span class="me2">uint_fast32_t</span></span></a>, <span class="nu0">24</span>, <span class="nu0">10</span>, <span class="nu0">24</span><span class="sy1">&gt;</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>ranlux48_base</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-subtract_with_carry_engine.html"><span class="kw1482">std::<span class="me2">subtract_with_carry_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-types-integer.html"><span class="kw127">std::<span class="me2">uint_fast64_t</span></span></a>, <span class="nu0">48</span>, <span class="nu0">5</span>, <span class="nu0">12</span><span class="sy1">&gt;</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>ranlux24</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-discard_block_engine.html"><span class="kw1483">std::<span class="me2">discard_block_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-numeric-random-subtract_with_carry_engine.html"><span class="kw1491">std::<span class="me2">ranlux24_base</span></span></a>, <span class="nu0">223</span>, <span class="nu0">23</span><span class="sy1">&gt;</span></span></span><br />
<p>24 &#20301; RANLUX &#29983;&#25104;&#22120;&#65292;&#30001; Martin L&uuml;scher &#19982; Fred James &#35774;&#35745;&#20110; 1994</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>ranlux48</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-discard_block_engine.html"><span class="kw1483">std::<span class="me2">discard_block_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-numeric-random-subtract_with_carry_engine.html"><span class="kw1492">std::<span class="me2">ranlux48_base</span></span></a>, <span class="nu0">389</span>, <span class="nu0">11</span><span class="sy1">&gt;</span></span></span><br />
<p>48 &#20301; RANLUX &#29983;&#25104;&#22120;&#65292;&#30001; Martin L&uuml;scher &#19982; Fred James &#35774;&#35745;&#20110; 1994</p>
</td>
</tr>
<tr class="t-dsc">
<td><code>knuth_b</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-numeric-random-shuffle_order_engine.html"><span class="kw1485">std::<span class="me2">shuffle_order_engine</span></span></a><span class="sy1">&lt;</span><a href="cpp-numeric-random-linear_congruential_engine.html"><span class="kw1487">std::<span class="me2">minstd_rand0</span></span></a>, <span class="nu0">256</span><span class="sy1">&gt;</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>default_random_engine</code><span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
<td><i>&#23454;&#29616;&#23450;&#20041;</i></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E9.9D.9E.E7.A1.AE.E5.AE.9A.E6.80.A7.E9.9A.8F.E6.9C.BA.E6.95.B0">&#38750;&#30830;&#23450;&#24615;&#38543;&#26426;&#25968;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-random_device.html"><span class="t-lines"><span>random_device</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20351;&#29992;&#30828;&#20214;&#29109;&#28304;&#30340;&#38750;&#30830;&#23450;&#38543;&#26426;&#25968;&#29983;&#25104;&#22120;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E5.9D.87.E5.8C.80.E5.88.86.E5.B8.83">&#22343;&#21248;&#20998;&#24067;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-uniform_int_distribution.html"><span class="t-lines"><span>uniform_int_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;&#22312;&#19968;&#20010;&#33539;&#22260;&#19978;&#22343;&#21248;&#20998;&#24067;&#30340;&#25972;&#25968;&#20540;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-uniform_real_distribution.html"><span class="t-lines"><span>uniform_real_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;&#22312;&#19968;&#20010;&#33539;&#22260;&#19978;&#22343;&#21248;&#20998;&#24067;&#30340;&#23454;&#25968;&#20540;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E4.BC.AF.E5.8A.AA.E5.88.A9.E5.88.86.E5.B8.83">&#20271;&#21162;&#21033;&#20998;&#24067;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-bernoulli_distribution.html"><span class="t-lines"><span>bernoulli_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Bernoulli_distribution" class="extiw" title="enwiki:Bernoulli distribution">&#20271;&#21162;&#21033;&#20998;&#24067;</a>&#19978;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#20540;&#12290;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-binomial_distribution.html"><span class="t-lines"><span>binomial_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Binomial_distribution" class="extiw" title="enwiki:Binomial distribution">&#20108;&#39033;&#20998;&#24067;</a>&#19978;&#30340;&#25972;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-negative_binomial_distribution.html"><span class="t-lines"><span>negative_binomial_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Negative_binomial_distribution" class="extiw" title="enwiki:Negative binomial distribution">&#36127;&#20108;&#39033;&#20998;&#24067;</a>&#19978;&#30340;&#25972;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-geometric_distribution.html"><span class="t-lines"><span>geometric_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Geometric_distribution" class="extiw" title="enwiki:Geometric distribution">&#20960;&#20309;&#20998;&#24067;</a>&#19978;&#30340;&#25972;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E6.B3.8A.E6.9D.BE.E5.88.86.E5.B8.83">&#27850;&#26494;&#20998;&#24067;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-poisson_distribution.html"><span class="t-lines"><span>poisson_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Poisson_distribution" class="extiw" title="enwiki:Poisson distribution">&#27850;&#26494;&#20998;&#24067;</a>&#19978;&#30340;&#25972;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-exponential_distribution.html"><span class="t-lines"><span>exponential_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Exponential_distribution" class="extiw" title="enwiki:Exponential distribution">&#25351;&#25968;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-gamma_distribution.html"><span class="t-lines"><span>gamma_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983; <a href="https://en.wikipedia.org/wiki/Gamma_distribution" class="extiw" title="enwiki:Gamma distribution">&Gamma; &#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-weibull_distribution.html"><span class="t-lines"><span>weibull_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Weibull_distribution" class="extiw" title="enwiki:Weibull distribution">&#23041;&#24067;&#23572;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-extreme_value_distribution.html"><span class="t-lines"><span>extreme_value_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Generalized_extreme_value_distribution" class="extiw" title="enwiki:Generalized extreme value distribution">&#26497;&#20540;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E6.AD.A3.E6.80.81.E5.88.86.E5.B8.83">&#27491;&#24577;&#20998;&#24067;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-normal_distribution.html"><span class="t-lines"><span>normal_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Normal_distribution" class="extiw" title="enwiki:Normal distribution">&#26631;&#20934;&#27491;&#24577;&#65288;&#39640;&#26031;&#65289;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-lognormal_distribution.html"><span class="t-lines"><span>lognormal_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Lognormal_distribution" class="extiw" title="enwiki:Lognormal distribution">&#23545;&#25968;&#27491;&#24577;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-chi_squared_distribution.html"><span class="t-lines"><span>chi_squared_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983; <a href="https://en.wikipedia.org/wiki/Chi-squared_distribution" class="extiw" title="enwiki:Chi-squared distribution">&chi;<sup>2</sup> &#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-cauchy_distribution.html"><span class="t-lines"><span>cauchy_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Cauchy_distribution" class="extiw" title="enwiki:Cauchy distribution">&#26607;&#35199;&#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-fisher_f_distribution.html"><span class="t-lines"><span>fisher_f_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/F-distribution" class="extiw" title="enwiki:F-distribution">&#36153;&#33293;&#23572; F &#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-student_t_distribution.html"><span class="t-lines"><span>student_t_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;<a href="https://en.wikipedia.org/wiki/Student%27s_t-distribution" class="extiw" title="enwiki:Student&#39;s t-distribution">&#23398;&#29983; t &#20998;&#24067;</a>&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E9.87.87.E6.A0.B7.E5.88.86.E5.B8.83">&#37319;&#26679;&#20998;&#24067;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-discrete_distribution.html"><span class="t-lines"><span>discrete_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;&#31163;&#25955;&#20998;&#24067;&#19978;&#30340;&#38543;&#26426;&#25972;&#25968;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-piecewise_constant_distribution.html"><span class="t-lines"><span>piecewise_constant_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;&#20998;&#24067;&#22312;&#24120;&#23376;&#21306;&#38388;&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-piecewise_linear_distribution.html"><span class="t-lines"><span>piecewise_linear_distribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#20135;&#29983;&#20998;&#24067;&#22312;&#23450;&#20041;&#30340;&#23376;&#21306;&#38388;&#19978;&#30340;&#23454;&#25968;&#20540;&#12290;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E5.B7.A5.E5.85.B7">&#24037;&#20855;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-seed_seq.html"><span class="t-lines"><span>seed_seq</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#36890;&#29992;&#30340;&#20559;&#24046;&#28040;&#38500;&#30340;&#28151;&#28102;&#31181;&#23376;&#24207;&#21015;&#29983;&#25104;&#22120;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E5.87.BD.E6.95.B0">&#20989;&#25968;</span></h3>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-generate_canonical.html"><span class="t-lines"><span>generate_canonical</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#32473;&#23450;&#31934;&#24230;&#30340;&#22343;&#21248;&#20998;&#24067;&#22312; [0, 1) &#19978;&#30340;&#23454;&#25968;&#20540;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.A6.82.E8.A6.81">&#27010;&#35201;</span></h3>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;initializer_list&gt;</span>
<span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="co1">// &#22343;&#21248;&#38543;&#26426;&#20301;&#29983;&#25104;&#22120;&#35201;&#27714;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> G<span class="sy1">&gt;</span>
concept uniform_random_bit_generator <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; linear_congruential_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, UIntType a, UIntType c, UIntType m<span class="sy1">&gt;</span>
<span class="kw1">class</span> linear_congruential_engine<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; mersenne_twister_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, size_t w, size_t n, size_t m, size_t r,
UIntType a, size_t u, UIntType d, size_t s,
UIntType b, size_t t,
UIntType c, size_t l, UIntType f<span class="sy1">&gt;</span>
<span class="kw1">class</span> mersenne_twister_engine<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; subtract_with_carry_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, size_t w, size_t s, size_t r<span class="sy1">&gt;</span>
<span class="kw1">class</span> subtract_with_carry_engine<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; discard_block_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t p, size_t r<span class="sy1">&gt;</span>
<span class="kw1">class</span> discard_block_engine<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; independent_bits_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t w, <span class="kw1">class</span> UIntType<span class="sy1">&gt;</span>
<span class="kw1">class</span> independent_bits_engine<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; shuffle_order_engine</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t k<span class="sy1">&gt;</span>
<span class="kw1">class</span> shuffle_order_engine<span class="sy4">;</span>
<span class="co1">// &#24102;&#39044;&#23450;&#20041;&#24418;&#21442;&#30340;&#24341;&#25806;&#21450;&#24341;&#25806;&#36866;&#37197;&#22120;</span>
<span class="kw1">using</span> minstd_rand0 <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> minstd_rand <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> mt19937 <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> mt19937_64 <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> ranlux24_base <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> ranlux48_base <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> ranlux24 <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> ranlux48 <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> knuth_b <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="kw1">using</span> default_random_engine <span class="sy1">=</span> <span class="coMULTI">/* &#35265;&#25551;&#36848; */</span><span class="sy4">;</span>
<span class="co1">// &#31867; random_device</span>
<span class="kw1">class</span> random_device<span class="sy4">;</span>
<span class="co1">// &#31867; seed_seq</span>
<span class="kw1">class</span> seed_seq<span class="sy4">;</span>
<span class="co1">// &#20989;&#25968;&#27169;&#26495; generate_canonical</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType, size_t bits, <span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
RealType generate_canonical<span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; uniform_int_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> uniform_int_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; uniform_real_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> uniform_real_distribution<span class="sy4">;</span>
<span class="co1">// &#31867; bernoulli_distribution</span>
<span class="kw1">class</span> bernoulli_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; binomial_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> binomial_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; geometric_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> geometric_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; negative_binomial_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> negative_binomial_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; poisson_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> poisson_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; exponential_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> exponential_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; gamma_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> gamma_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; weibull_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> weibull_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; extreme_value_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> extreme_value_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; normal_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> normal_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; lognormal_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> lognormal_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; chi_squared_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> chi_squared_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; cauchy_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> cauchy_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; fisher_f_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> fisher_f_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; student_t_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> student_t_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; discrete_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> discrete_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; piecewise_constant_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> piecewise_constant_distribution<span class="sy4">;</span>
<span class="co1">// &#31867;&#27169;&#26495; piecewise_linear_distribution</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> piecewise_linear_distribution<span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E6.A6.82.E5.BF.B5_uniform_random_bit_generator">&#27010;&#24565; <a href="cpp-numeric-random-uniform_random_bit_generator.html"><code>uniform_random_bit_generator</code></a></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> G<span class="sy1">&gt;</span>
concept uniform_random_bit_generator <span class="sy1">=</span>
invocable<span class="sy1">&lt;</span>G<span class="sy3">&amp;</span><span class="sy1">&gt;</span> <span class="sy3">&amp;&amp;</span> unsigned_integral<span class="sy1">&lt;</span>invoke_result_t<span class="sy1">&lt;</span>G<span class="sy3">&amp;</span><span class="sy1">&gt;&gt;</span> <span class="sy3">&amp;&amp;</span>
requires <span class="br0">{</span>
<span class="br0">{</span> G<span class="sy4">::</span><span class="me2">min</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">}</span> <span class="sy2">-</span><span class="sy1">&gt;</span> same_as<span class="sy1">&lt;</span>invoke_result_t<span class="sy1">&lt;</span>G<span class="sy3">&amp;</span><span class="sy1">&gt;&gt;</span><span class="sy4">;</span>
<span class="br0">{</span> G<span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">}</span> <span class="sy2">-</span><span class="sy1">&gt;</span> same_as<span class="sy1">&lt;</span>invoke_result_t<span class="sy1">&lt;</span>G<span class="sy3">&amp;</span><span class="sy1">&gt;&gt;</span><span class="sy4">;</span>
requires bool_constant<span class="sy1">&lt;</span><span class="br0">(</span>G<span class="sy4">::</span><span class="me2">min</span><span class="br0">(</span><span class="br0">)</span> <span class="sy1">&lt;</span> G<span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::linear_congruential_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-linear_congruential_engine.html">std::linear_congruential_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, UIntType a, UIntType c, UIntType m<span class="sy1">&gt;</span>
<span class="kw1">class</span> linear_congruential_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> UIntType<span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type multiplier <span class="sy1">=</span> a<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type increment <span class="sy1">=</span> c<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type modulus <span class="sy1">=</span> m<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> c <span class="sy1">==</span> 0u <span class="sy4">?</span> 1u<span class="sy4">:</span> 0u<span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> m <span class="sy2">-</span> 1u<span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type default_seed <span class="sy1">=</span> 1u<span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
linear_congruential_engine<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> linear_congruential_engine<span class="br0">(</span>default_seed<span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> linear_congruential_engine<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> linear_congruential_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type s <span class="sy1">=</span> default_seed<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::mersenne_twister_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-mersenne_twister_engine.html">std::mersenne_twister_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, size_t w, size_t n, size_t m, size_t r,
UIntType a, size_t u, UIntType d, size_t s,
UIntType b, size_t t,
UIntType c, size_t l, UIntType f<span class="sy1">&gt;</span>
<span class="kw1">class</span> mersenne_twister_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> UIntType<span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t word_size <span class="sy1">=</span> w<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t state_size <span class="sy1">=</span> n<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t shift_size <span class="sy1">=</span> m<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t mask_bits <span class="sy1">=</span> r<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> UIntType xor_mask <span class="sy1">=</span> a<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t tempering_u <span class="sy1">=</span> u<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> UIntType tempering_d <span class="sy1">=</span> d<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t tempering_s <span class="sy1">=</span> s<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> UIntType tempering_b <span class="sy1">=</span> b<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t tempering_t <span class="sy1">=</span> t<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> UIntType tempering_c <span class="sy1">=</span> c<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t tempering_l <span class="sy1">=</span> l<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> UIntType initialization_multiplier <span class="sy1">=</span> f<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="coMULTI">/* pow(2, w) - 1 */</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type default_seed <span class="sy1">=</span> 5489u<span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
mersenne_twister_engine<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> mersenne_twister_engine<span class="br0">(</span>default_seed<span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> mersenne_twister_engine<span class="br0">(</span>result_type value<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> mersenne_twister_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type value <span class="sy1">=</span> default_seed<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::subtract_with_carry_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-subtract_with_carry_engine.html">std::subtract_with_carry_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UIntType, size_t w, size_t s, size_t r<span class="sy1">&gt;</span>
<span class="kw1">class</span> subtract_with_carry_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> UIntType<span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t word_size <span class="sy1">=</span> w<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t short_lag <span class="sy1">=</span> s<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t long_lag <span class="sy1">=</span> r<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="coMULTI">/* pow(2, w) - 1 */</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type default_seed <span class="sy1">=</span> 19780503u<span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
subtract_with_carry_engine<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> subtract_with_carry_engine<span class="br0">(</span>default_seed<span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> subtract_with_carry_engine<span class="br0">(</span>result_type value<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> subtract_with_carry_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type value <span class="sy1">=</span> default_seed<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::discard_block_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-discard_block_engine.html">std::discard_block_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t p, size_t r<span class="sy1">&gt;</span>
<span class="kw1">class</span> discard_block_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> <span class="kw1">typename</span> Engine<span class="sy4">::</span><span class="me2">result_type</span><span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t block_size <span class="sy1">=</span> p<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t used_block <span class="sy1">=</span> r<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> Engine<span class="sy4">::</span><span class="me2">min</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> Engine<span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
discard_block_engine<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> discard_block_engine<span class="br0">(</span><span class="kw4">const</span> Engine<span class="sy3">&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> discard_block_engine<span class="br0">(</span>Engine<span class="sy3">&amp;&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> discard_block_engine<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> discard_block_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">const</span> Engine<span class="sy3">&amp;</span> base<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span> <span class="br0">{</span> <span class="kw1">return</span> e<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">private</span><span class="sy4">:</span>
Engine e<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
<span class="kw4">int</span> n<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::independent_bits_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-independent_bits_engine.html">std::independent_bits_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t w, <span class="kw1">class</span> UIntType<span class="sy1">&gt;</span>
<span class="kw1">class</span> independent_bits_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> UIntType<span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="coMULTI">/* pow(2, w) - 1 */</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
independent_bits_engine<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> independent_bits_engine<span class="br0">(</span><span class="kw4">const</span> Engine<span class="sy3">&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> independent_bits_engine<span class="br0">(</span>Engine<span class="sy3">&amp;&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> independent_bits_engine<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> independent_bits_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">const</span> Engine<span class="sy3">&amp;</span> base<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span> <span class="br0">{</span> <span class="kw1">return</span> e<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">private</span><span class="sy4">:</span>
Engine e<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::shuffle_order_engine">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-shuffle_order_engine.html">std::shuffle_order_engine</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Engine, size_t k<span class="sy1">&gt;</span>
<span class="kw1">class</span> shuffle_order_engine <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> <span class="kw1">typename</span> Engine<span class="sy4">::</span><span class="me2">result_type</span><span class="sy4">;</span>
<span class="co1">// &#24341;&#25806;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> size_t table_size <span class="sy1">=</span> k<span class="sy4">;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> Engine<span class="sy4">::</span><span class="me2">min</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> Engine<span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#25773;&#31181;&#20989;&#25968;</span>
shuffle_order_engine<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> shuffle_order_engine<span class="br0">(</span><span class="kw4">const</span> Engine<span class="sy3">&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> shuffle_order_engine<span class="br0">(</span>Engine<span class="sy3">&amp;&amp;</span> e<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> shuffle_order_engine<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw1">explicit</span> shuffle_order_engine<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> seed<span class="br0">(</span>result_type s<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> Sseq<span class="sy1">&gt;</span> <span class="kw4">void</span> seed<span class="br0">(</span>Sseq<span class="sy3">&amp;</span> q<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> discard<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> z<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">const</span> Engine<span class="sy3">&amp;</span> base<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span> <span class="br0">{</span> <span class="kw1">return</span> e<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">private</span><span class="sy4">:</span>
Engine e<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
result_type V<span class="br0">[</span>k<span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
result_type Y<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E5.B8.A6.E9.A2.84.E5.AE.9A.E4.B9.89.E5.BD.A2.E5.8F.82.E7.9A.84.E5.BC.95.E6.93.8E.E5.8F.8A.E5.BC.95.E6.93.8E.E9.80.82.E9.85.8D.E5.99.A8">&#24102;&#39044;&#23450;&#20041;&#24418;&#21442;&#30340;&#24341;&#25806;&#21450;&#24341;&#25806;&#36866;&#37197;&#22120;</span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">using</span> minstd_rand0 <span class="sy1">=</span>
linear_congruential_engine<span class="sy1">&lt;</span>uint_fast32_t, <span class="nu0">16</span><span class="st0">&#39;807, 0, 2&#39;</span><span class="nu0">147</span><span class="st0">&#39;483&#39;</span><span class="nu0">647</span><span class="sy1">&gt;</span><span class="sy4">;</span>
<span class="kw1">using</span> minstd_rand <span class="sy1">=</span>
linear_congruential_engine<span class="sy1">&lt;</span>uint_fast32_t, <span class="nu0">48</span><span class="st0">&#39;271, 0, 2&#39;</span><span class="nu0">147</span><span class="st0">&#39;483&#39;</span><span class="nu0">647</span><span class="sy1">&gt;</span><span class="sy4">;</span>
<span class="kw1">using</span> mt19937 <span class="sy1">=</span>
mersenne_twister_engine<span class="sy1">&lt;</span>uint_fast32_t, <span class="nu0">32</span>, <span class="nu0">624</span>, <span class="nu0">397</span>, <span class="nu0">31</span>,
<span class="nu12">0x9908</span><span class="st0">&#39;b0df, 11, 0xffff&#39;</span>ffff, <span class="nu0">7</span>, <span class="nu12">0x9d2c</span><span class="st0">&#39;5680, 15, 0xefc6&#39;</span><span class="nu8">0000</span>, <span class="nu0">18</span>, <span class="nu0">1</span><span class="st0">&#39;812&#39;</span><span class="nu0">433</span><span class="st0">&#39;253&gt;;
using mt19937_64 =
mersenne_twister_engine&lt;uint_fast64_t, 64, 312, 156, 31,
0xb502&#39;</span>6f5a<span class="st0">&#39;a966&#39;</span><span class="nu19">19e9</span>, <span class="nu0">29</span>, <span class="nu12">0x5555</span><span class="st0">&#39;5555&#39;</span><span class="nu0">5555</span><span class="st0">&#39;5555, 17,
0x71d6&#39;</span>7fff<span class="st0">&#39;eda6&#39;</span><span class="nu8">0000</span>, <span class="nu0">37</span>, <span class="nu12">0xfff7</span><span class="st0">&#39;eee0&#39;</span><span class="nu8">0000</span><span class="st0">&#39;0000, 43, 6&#39;</span><span class="nu0">364</span><span class="st0">&#39;136&#39;</span><span class="nu0">223</span><span class="st0">&#39;846&#39;</span><span class="nu0">793</span><span class="st0">&#39;005&gt;;
using ranlux24_base =
subtract_with_carry_engine&lt;uint_fast32_t, 24, 10, 24&gt;;
using ranlux48_base =
subtract_with_carry_engine&lt;uint_fast64_t, 48, 5, 12&gt;;
using ranlux24 = discard_block_engine&lt;ranlux24_base, 223, 23&gt;;
using ranlux48 = discard_block_engine&lt;ranlux48_base, 389, 11&gt;;
using knuth_b = shuffle_order_engine&lt;minstd_rand0,256&gt;;
using default_random_engine = /* &#30001;&#23454;&#29616;&#23450;&#20041; */;
}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB_std::random_device">&#31867; <span class="t-lc"><a href="cpp-numeric-random-random_device.html">std::random_device</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">class</span> random_device <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> <span class="kw4">unsigned</span> <span class="kw4">int</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#22120;&#29305;&#24449;</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type min<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> numeric_limits<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">min</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="kw4">static</span> <span class="kw4">constexpr</span> result_type max<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> numeric_limits<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;</span>
random_device<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> random_device<span class="br0">(</span><span class="coMULTI">/* &#30001;&#23454;&#29616;&#23450;&#20041; */</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> random_device<span class="br0">(</span><span class="kw4">const</span> string<span class="sy3">&amp;</span> token<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">double</span> entropy<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="co1">// &#26080;&#22797;&#21046;&#20989;&#25968;</span>
random_device<span class="br0">(</span><span class="kw4">const</span> random_device<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> delete<span class="sy4">;</span>
<span class="kw4">void</span> operator<span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> random_device<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> delete<span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB_std::seed_seq">&#31867; <span class="t-lc"><a href="cpp-numeric-random-seed_seq.html">std::seed_seq</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">class</span> seed_seq <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> uint_least32_t<span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;</span>
seed_seq<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> T<span class="sy1">&gt;</span>
seed_seq<span class="br0">(</span>initializer_list<span class="sy1">&lt;</span>T<span class="sy1">&gt;</span> il<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt<span class="sy1">&gt;</span>
seed_seq<span class="br0">(</span>InputIt begin, InputIt end<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RandomAccessIt<span class="sy1">&gt;</span>
<span class="kw4">void</span> generate<span class="br0">(</span>RandomAccessIt begin, RandomAccessIt end<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
size_t size<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> OutputIt<span class="sy1">&gt;</span>
<span class="kw4">void</span> param<span class="br0">(</span>OutputIt dest<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="co1">// &#26080;&#22797;&#21046;&#20989;&#25968;</span>
seed_seq<span class="br0">(</span><span class="kw4">const</span> seed_seq<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> delete<span class="sy4">;</span>
<span class="kw4">void</span> operator<span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> seed_seq<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> delete<span class="sy4">;</span>
<span class="kw1">private</span><span class="sy4">:</span>
vector<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span> v<span class="sy4">;</span> <span class="co1">// &#20165;&#29992;&#20110;&#38416;&#37322;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::uniform_int_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-uniform_int_distribution.html">std::uniform_int_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> uniform_int_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
uniform_int_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> uniform_int_distribution<span class="br0">(</span><span class="nu0">0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> uniform_int_distribution<span class="br0">(</span>IntType a,
IntType b <span class="sy1">=</span> numeric_limits<span class="sy1">&lt;</span>IntType<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">max</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> uniform_int_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
result_type a<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type b<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::uniform_real_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-uniform_real_distribution.html">std::uniform_real_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> uniform_real_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
uniform_real_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> uniform_real_distribution<span class="br0">(</span><span class="nu16">0.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> uniform_real_distribution<span class="br0">(</span>RealType a, RealType b <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> uniform_real_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
result_type a<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type b<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB_std::bernoulli_distribution">&#31867; <span class="t-lc"><a href="cpp-numeric-random-bernoulli_distribution.html">std::bernoulli_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">class</span> bernoulli_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> <span class="kw4">bool</span><span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
bernoulli_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> bernoulli_distribution<span class="br0">(</span><span class="nu16">0.5</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> bernoulli_distribution<span class="br0">(</span><span class="kw4">double</span> p<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> bernoulli_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">double</span> p<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::binomial_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-binomial_distribution.html">std::binomial_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> binomial_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
binomial_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> binomial_distribution<span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> binomial_distribution<span class="br0">(</span>IntType t, <span class="kw4">double</span> p <span class="sy1">=</span> <span class="nu16">0.5</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> binomial_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
IntType t<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">double</span> p<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::geometric_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-geometric_distribution.html">std::geometric_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> geometric_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
geometric_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> geometric_distribution<span class="br0">(</span><span class="nu16">0.5</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> geometric_distribution<span class="br0">(</span><span class="kw4">double</span> p<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> geometric_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">double</span> p<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::negative_binomial_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-negative_binomial_distribution.html">std::negative_binomial_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> negative_binomial_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
negative_binomial_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> negative_binomial_distribution<span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> negative_binomial_distribution<span class="br0">(</span>IntType k, <span class="kw4">double</span> p <span class="sy1">=</span> <span class="nu16">0.5</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> negative_binomial_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
IntType k<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">double</span> p<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::poisson_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-poisson_distribution.html">std::poisson_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> poisson_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
poisson_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> poisson_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> poisson_distribution<span class="br0">(</span><span class="kw4">double</span> mean<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> poisson_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
<span class="kw4">double</span> mean<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::exponential_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-exponential_distribution.html">std::exponential_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> exponential_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
exponential_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> exponential_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> exponential_distribution<span class="br0">(</span>RealType lambda<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> exponential_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType lambda<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::gamma_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-gamma_distribution.html">std::gamma_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> gamma_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
gamma_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> gamma_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> gamma_distribution<span class="br0">(</span>RealType alpha, RealType beta <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> gamma_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType alpha<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType beta<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::weibull_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-weibull_distribution.html">std::weibull_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> weibull_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
weibull_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> weibull_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> weibull_distribution<span class="br0">(</span>RealType a, RealType b <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> weibull_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType a<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType b<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::extreme_value_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-extreme_value_distribution.html">std::extreme_value_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> extreme_value_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
extreme_value_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> extreme_value_distribution<span class="br0">(</span><span class="nu16">0.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> extreme_value_distribution<span class="br0">(</span>RealType a, RealType b <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> extreme_value_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType a<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType b<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::normal_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-normal_distribution.html">std::normal_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> normal_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
normal_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> normal_distribution<span class="br0">(</span><span class="nu16">0.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> normal_distribution<span class="br0">(</span>RealType mean, RealType stddev <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> normal_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType mean<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType stddev<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::lognormal_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-lognormal_distribution.html">std::lognormal_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> lognormal_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
lognormal_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> lognormal_distribution<span class="br0">(</span><span class="nu16">0.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> lognormal_distribution<span class="br0">(</span>RealType m, RealType s <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> lognormal_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType m<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType s<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::chi_squared_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-chi_squared_distribution.html">std::chi_squared_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> chi_squared_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
chi_squared_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> chi_squared_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> chi_squared_distribution<span class="br0">(</span>RealType n<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> chi_squared_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType n<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::cauchy_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-cauchy_distribution.html">std::cauchy_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> cauchy_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
cauchy_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> cauchy_distribution<span class="br0">(</span><span class="nu16">0.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> cauchy_distribution<span class="br0">(</span>RealType a, RealType b <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> cauchy_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType a<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType b<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::fisher_f_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-fisher_f_distribution.html">std::fisher_f_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> fisher_f_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
fisher_f_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> fisher_f_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> fisher_f_distribution<span class="br0">(</span>RealType m, RealType n <span class="sy1">=</span> <span class="nu16">1.0</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> fisher_f_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType m<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
RealType n<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::student_t_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-student_t_distribution.html">std::student_t_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> student_t_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
student_t_distribution<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> student_t_distribution<span class="br0">(</span><span class="nu16">1.0</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="kw1">explicit</span> student_t_distribution<span class="br0">(</span>RealType n<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> student_t_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
RealType n<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::discrete_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-discrete_distribution.html">std::discrete_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> IntType <span class="sy1">=</span> <span class="kw4">int</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> discrete_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> IntType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
discrete_distribution<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt<span class="sy1">&gt;</span>
discrete_distribution<span class="br0">(</span>InputIt firstW, InputIt lastW<span class="br0">)</span><span class="sy4">;</span>
discrete_distribution<span class="br0">(</span>initializer_list<span class="sy1">&lt;</span><span class="kw4">double</span><span class="sy1">&gt;</span> wl<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
discrete_distribution<span class="br0">(</span>size_t nw, <span class="kw4">double</span> xmin, <span class="kw4">double</span> xmax, UnaryOperation fw<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> discrete_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
vector<span class="sy1">&lt;</span><span class="kw4">double</span><span class="sy1">&gt;</span> probabilities<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::piecewise_constant_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-piecewise_constant_distribution.html">std::piecewise_constant_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> piecewise_constant_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
piecewise_constant_distribution<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputItB, <span class="kw1">class</span> InputItW<span class="sy1">&gt;</span>
piecewise_constant_distribution<span class="br0">(</span>InputItB firstB, InputItB lastB, InputItW firstW<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
piecewise_constant_distribution<span class="br0">(</span>initializer_list<span class="sy1">&lt;</span>RealType<span class="sy1">&gt;</span> bl, UnaryOperation fw<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
piecewise_constant_distribution<span class="br0">(</span>size_t nw, RealType xmin, RealType xmax,
UnaryOperation fw<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> piecewise_constant_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
vector<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span> intervals<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
vector<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span> densities<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E7.B1.BB.E6.A8.A1.E6.9D.BF_std::piecewise_linear_distribution">&#31867;&#27169;&#26495; <span class="t-lc"><a href="cpp-numeric-random-piecewise_linear_distribution.html">std::piecewise_linear_distribution</a></span></span></h4>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> RealType <span class="sy1">=</span> <span class="kw4">double</span><span class="sy1">&gt;</span>
<span class="kw1">class</span> piecewise_linear_distribution <span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
<span class="co1">// &#31867;&#22411;</span>
<span class="kw1">using</span> result_type <span class="sy1">=</span> RealType<span class="sy4">;</span>
<span class="kw1">using</span> param_type <span class="sy1">=</span> <span class="coMULTI">/* &#26410;&#25351;&#26126; */</span><span class="sy4">;</span>
<span class="co1">// &#26500;&#36896;&#20989;&#25968;&#19982;&#37325;&#32622;&#20989;&#25968;</span>
piecewise_linear_distribution<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputItB, <span class="kw1">class</span> InputItW<span class="sy1">&gt;</span>
piecewise_linear_distribution<span class="br0">(</span>InputItB firstB, InputItB lastB, InputItW firstW<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
piecewise_linear_distribution<span class="br0">(</span>initializer_list<span class="sy1">&lt;</span>RealType<span class="sy1">&gt;</span> bl, UnaryOperation fw<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
piecewise_linear_distribution<span class="br0">(</span>size_t nw, RealType xmin, RealType xmax,
UnaryOperation fw<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">explicit</span> piecewise_linear_distribution<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> reset<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#29983;&#25104;&#20989;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> URBG<span class="sy1">&gt;</span>
result_type operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span>URBG<span class="sy3">&amp;</span> g, <span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#23646;&#24615;&#20989;&#25968;</span>
vector<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span> intervals<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
vector<span class="sy1">&lt;</span>result_type<span class="sy1">&gt;</span> densities<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
param_type param<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="kw4">void</span> param<span class="br0">(</span><span class="kw4">const</span> param_type<span class="sy3">&amp;</span> parm<span class="br0">)</span><span class="sy4">;</span>
result_type min<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
result_type max<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>