Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 0448c66ab6afa2f787658c5e6488e2d9 > files > 3357

libstdc++-docs-8.3.1-0.20191101.1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libstdc++: std::mersenne_twister_engine&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libstdc++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a06272.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="a06269.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">std::mersenne_twister_engine&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt; Class Template Reference<div class="ingroups"><a class="el" href="a01473.html">Numerics</a> &raquo; <a class="el" href="a01491.html">Random Number Generation</a> &raquo; <a class="el" href="a01531.html">Random Number Generators</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab1ad02d59f290faf3d8b33e1209cdfae"><td class="memItemLeft" align="right" valign="top">typedef _UIntType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a></td></tr>
<tr class="separator:ab1ad02d59f290faf3d8b33e1209cdfae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abcbd05102c25b471d7fd0353ed9078b4"><td class="memItemLeft" align="right" valign="top"><a id="abcbd05102c25b471d7fd0353ed9078b4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>mersenne_twister_engine</b> (<a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a> __sd=default_seed)</td></tr>
<tr class="separator:abcbd05102c25b471d7fd0353ed9078b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8987d5bb70c31ba8e4bb80f993acff85"><td class="memTemplParams" colspan="2">template&lt;typename _Sseq , typename  = typename std::enable_if&lt;!std::is_same&lt;_Sseq, mersenne_twister_engine&gt;::value&gt; ::type&gt; </td></tr>
<tr class="memitem:a8987d5bb70c31ba8e4bb80f993acff85"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06272.html#a8987d5bb70c31ba8e4bb80f993acff85">mersenne_twister_engine</a> (_Sseq &amp;__q)</td></tr>
<tr class="separator:a8987d5bb70c31ba8e4bb80f993acff85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2f7304fcf0b11ea1cde1397fb7ddb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06272.html#a5e2f7304fcf0b11ea1cde1397fb7ddb6">discard</a> (unsigned long long __z)</td></tr>
<tr class="separator:a5e2f7304fcf0b11ea1cde1397fb7ddb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a55e80c9916d7d27fb5e5d3ce87054e"><td class="memItemLeft" align="right" valign="top"><a id="a9a55e80c9916d7d27fb5e5d3ce87054e"></a>
<a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> ()</td></tr>
<tr class="separator:a9a55e80c9916d7d27fb5e5d3ce87054e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f56800aa7e61057440c10c0eca1d76d"><td class="memItemLeft" align="right" valign="top"><a id="a7f56800aa7e61057440c10c0eca1d76d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>seed</b> (<a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a> __sd=default_seed)</td></tr>
<tr class="separator:a7f56800aa7e61057440c10c0eca1d76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5cc8508fce57c6a0e87e52a9a51555"><td class="memTemplParams" colspan="2"><a id="a5f5cc8508fce57c6a0e87e52a9a51555"></a>
template&lt;typename _Sseq &gt; </td></tr>
<tr class="memitem:a5f5cc8508fce57c6a0e87e52a9a51555"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04188.html">std::enable_if</a>&lt; <a class="el" href="a03280.html">std::is_class</a>&lt; _Sseq &gt;::value &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><b>seed</b> (_Sseq &amp;__q)</td></tr>
<tr class="separator:a5f5cc8508fce57c6a0e87e52a9a51555"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a8e9cd7d4bb14de188ead958d3f1faeac"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06272.html#a8e9cd7d4bb14de188ead958d3f1faeac">max</a> ()</td></tr>
<tr class="separator:a8e9cd7d4bb14de188ead958d3f1faeac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf1720ef1664fa77a5972c78addfa290"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06272.html#aaf1720ef1664fa77a5972c78addfa290">min</a> ()</td></tr>
<tr class="separator:aaf1720ef1664fa77a5972c78addfa290"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a29d3bc88ce12b512f8021b36c4ba6112"><td class="memItemLeft" align="right" valign="top"><a id="a29d3bc88ce12b512f8021b36c4ba6112"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>default_seed</b></td></tr>
<tr class="separator:a29d3bc88ce12b512f8021b36c4ba6112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8cf1e2c6cfe633474bb1c38cc887b9d"><td class="memItemLeft" align="right" valign="top"><a id="aa8cf1e2c6cfe633474bb1c38cc887b9d"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>initialization_multiplier</b></td></tr>
<tr class="separator:aa8cf1e2c6cfe633474bb1c38cc887b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ea255a8b39ef6f66068fd2727be8e27"><td class="memItemLeft" align="right" valign="top"><a id="a0ea255a8b39ef6f66068fd2727be8e27"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask_bits</b></td></tr>
<tr class="separator:a0ea255a8b39ef6f66068fd2727be8e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b24c167ed9fbc4310784713a22e0080"><td class="memItemLeft" align="right" valign="top"><a id="a1b24c167ed9fbc4310784713a22e0080"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>shift_size</b></td></tr>
<tr class="separator:a1b24c167ed9fbc4310784713a22e0080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a454a02da83775c303dd43e3a3a99cfc6"><td class="memItemLeft" align="right" valign="top"><a id="a454a02da83775c303dd43e3a3a99cfc6"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>state_size</b></td></tr>
<tr class="separator:a454a02da83775c303dd43e3a3a99cfc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac54d52c13ae64ebd2def6eb50c0bf8a1"><td class="memItemLeft" align="right" valign="top"><a id="ac54d52c13ae64ebd2def6eb50c0bf8a1"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_b</b></td></tr>
<tr class="separator:ac54d52c13ae64ebd2def6eb50c0bf8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a316d526c44adfab794f503efd2fc5e0b"><td class="memItemLeft" align="right" valign="top"><a id="a316d526c44adfab794f503efd2fc5e0b"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_c</b></td></tr>
<tr class="separator:a316d526c44adfab794f503efd2fc5e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0fd45659bdac7125a80fa376d3d0dc1"><td class="memItemLeft" align="right" valign="top"><a id="ae0fd45659bdac7125a80fa376d3d0dc1"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_d</b></td></tr>
<tr class="separator:ae0fd45659bdac7125a80fa376d3d0dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af212317ad797e1c4758cc6266555b52d"><td class="memItemLeft" align="right" valign="top"><a id="af212317ad797e1c4758cc6266555b52d"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_l</b></td></tr>
<tr class="separator:af212317ad797e1c4758cc6266555b52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a914bfd63aaa8ae6a80fc439cb1cbae1e"><td class="memItemLeft" align="right" valign="top"><a id="a914bfd63aaa8ae6a80fc439cb1cbae1e"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_s</b></td></tr>
<tr class="separator:a914bfd63aaa8ae6a80fc439cb1cbae1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abaa013184c119ea69081e39f80e286"><td class="memItemLeft" align="right" valign="top"><a id="a9abaa013184c119ea69081e39f80e286"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_t</b></td></tr>
<tr class="separator:a9abaa013184c119ea69081e39f80e286"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafed425b2890dc02795b2f9fc3783fe0"><td class="memItemLeft" align="right" valign="top"><a id="aafed425b2890dc02795b2f9fc3783fe0"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>tempering_u</b></td></tr>
<tr class="separator:aafed425b2890dc02795b2f9fc3783fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10229739dc97d2aa7d0b7416718a6e20"><td class="memItemLeft" align="right" valign="top"><a id="a10229739dc97d2aa7d0b7416718a6e20"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>word_size</b></td></tr>
<tr class="separator:a10229739dc97d2aa7d0b7416718a6e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a513dd70234628d38b8c4271aa88158ce"><td class="memItemLeft" align="right" valign="top"><a id="a513dd70234628d38b8c4271aa88158ce"></a>
static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>xor_mask</b></td></tr>
<tr class="separator:a513dd70234628d38b8c4271aa88158ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:acc44ab3c56e9048acd13c60ca1a877e0"><td class="memTemplParams" colspan="2">template&lt;typename _UIntType1 , size_t __w1, size_t __n1, size_t __m1, size_t __r1, _UIntType1 __a1, size_t __u1, _UIntType1 __d1, size_t __s1, _UIntType1 __b1, size_t __t1, _UIntType1 __c1, size_t __l1, _UIntType1 __f1, typename _CharT , typename _Traits &gt; </td></tr>
<tr class="memitem:acc44ab3c56e9048acd13c60ca1a877e0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02460.html">std::basic_ostream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06272.html#acc44ab3c56e9048acd13c60ca1a877e0">operator&lt;&lt;</a> (<a class="el" href="a02460.html">std::basic_ostream</a>&lt; _CharT, _Traits &gt; &amp;__os, const <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1 &gt; &amp;__x)</td></tr>
<tr class="separator:acc44ab3c56e9048acd13c60ca1a877e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96c6f6aabca5106a2db6ecc834bbddfe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06272.html#a96c6f6aabca5106a2db6ecc834bbddfe">operator==</a> (const <a class="el" href="a06272.html">mersenne_twister_engine</a> &amp;__lhs, const <a class="el" href="a06272.html">mersenne_twister_engine</a> &amp;__rhs)</td></tr>
<tr class="separator:a96c6f6aabca5106a2db6ecc834bbddfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe6e606a61991ce6007b14402043497"><td class="memTemplParams" colspan="2">template&lt;typename _UIntType1 , size_t __w1, size_t __n1, size_t __m1, size_t __r1, _UIntType1 __a1, size_t __u1, _UIntType1 __d1, size_t __s1, _UIntType1 __b1, size_t __t1, _UIntType1 __c1, size_t __l1, _UIntType1 __f1, typename _CharT , typename _Traits &gt; </td></tr>
<tr class="memitem:a4fe6e606a61991ce6007b14402043497"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02456.html">std::basic_istream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06272.html#a4fe6e606a61991ce6007b14402043497">operator&gt;&gt;</a> (<a class="el" href="a02456.html">std::basic_istream</a>&lt; _CharT, _Traits &gt; &amp;__is, <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1 &gt; &amp;__x)</td></tr>
<tr class="separator:a4fe6e606a61991ce6007b14402043497"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _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&gt;<br />
class std::mersenne_twister_engine&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;</h3>

<p>A generalized feedback shift register discrete random number generator.</p>
<p>This algorithm avoids multiplication and division and is designed to be friendly to a pipelined architecture. If the parameters are chosen correctly, this generator will produce numbers with a very long period and fairly good apparent entropy, although still not cryptographically strong.</p>
<p>The best way to use this generator is with the predefined mt19937 class.</p>
<p>This algorithm was originally invented by Makoto Matsumoto and Takuji Nishimura.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">__w</td><td>Word size, the number of bits in each element of the state vector. </td></tr>
    <tr><td class="paramname">__n</td><td>The degree of recursion. </td></tr>
    <tr><td class="paramname">__m</td><td>The period parameter. </td></tr>
    <tr><td class="paramname">__r</td><td>The separation point bit index. </td></tr>
    <tr><td class="paramname">__a</td><td>The last row of the twist matrix. </td></tr>
    <tr><td class="paramname">__u</td><td>The first right-shift tempering matrix parameter. </td></tr>
    <tr><td class="paramname">__d</td><td>The first right-shift tempering matrix mask. </td></tr>
    <tr><td class="paramname">__s</td><td>The first left-shift tempering matrix parameter. </td></tr>
    <tr><td class="paramname">__b</td><td>The first left-shift tempering matrix mask. </td></tr>
    <tr><td class="paramname">__t</td><td>The second left-shift tempering matrix parameter. </td></tr>
    <tr><td class="paramname">__c</td><td>The second left-shift tempering matrix mask. </td></tr>
    <tr><td class="paramname">__l</td><td>The second right-shift tempering matrix parameter. </td></tr>
    <tr><td class="paramname">__f</td><td>Initialization multiplier. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00437">437</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ab1ad02d59f290faf3d8b33e1209cdfae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1ad02d59f290faf3d8b33e1209cdfae">&#9670;&nbsp;</a></span>result_type</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _UIntType <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;::<a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of the generated random value. </p>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00440">440</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8987d5bb70c31ba8e4bb80f993acff85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8987d5bb70c31ba8e4bb80f993acff85">&#9670;&nbsp;</a></span>mersenne_twister_engine()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<div class="memtemplate">
template&lt;typename _Sseq , typename  = typename std::enable_if&lt;!std::is_same&lt;_Sseq, mersenne_twister_engine&gt;::value&gt; ::type&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;::<a class="el" href="a06272.html">mersenne_twister_engine</a> </td>
          <td>(</td>
          <td class="paramtype">_Sseq &amp;&#160;</td>
          <td class="paramname"><em>__q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructs a mersenne_twister_engine random number generator engine seeded from the seed sequence <code>__q</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__q</td><td>the seed sequence. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00501">501</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5e2f7304fcf0b11ea1cde1397fb7ddb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e2f7304fcf0b11ea1cde1397fb7ddb6">&#9670;&nbsp;</a></span>discard()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;::discard </td>
          <td>(</td>
          <td class="paramtype">unsigned long long&#160;</td>
          <td class="paramname"><em>__z</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Discard a sequence of random numbers. </p>

<p class="definition">Definition at line <a class="el" href="a17055_source.html#l00432">432</a> of file <a class="el" href="a17055_source.html">bits/random.tcc</a>.</p>

</div>
</div>
<a id="a8e9cd7d4bb14de188ead958d3f1faeac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e9cd7d4bb14de188ead958d3f1faeac">&#9670;&nbsp;</a></span>max()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a> <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;::max </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the largest possible value in the output range. </p>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00522">522</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<a id="aaf1720ef1664fa77a5972c78addfa290"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf1720ef1664fa77a5972c78addfa290">&#9670;&nbsp;</a></span>min()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static constexpr <a class="el" href="a06272.html#ab1ad02d59f290faf3d8b33e1209cdfae">result_type</a> <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt;::min </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the smallest possible value in the output range. </p>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00515">515</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="acc44ab3c56e9048acd13c60ca1a877e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc44ab3c56e9048acd13c60ca1a877e0">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<div class="memtemplate">
template&lt;typename _UIntType1 , size_t __w1, size_t __n1, size_t __m1, size_t __r1, _UIntType1 __a1, size_t __u1, _UIntType1 __d1, size_t __s1, _UIntType1 __b1, size_t __t1, _UIntType1 __c1, size_t __l1, _UIntType1 __f1, typename _CharT , typename _Traits &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a02460.html">std::basic_ostream</a>&lt;_CharT, _Traits&gt;&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a02460.html">std::basic_ostream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td>
          <td class="paramname"><em>__os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1 &gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts the current state of a % mersenne_twister_engine random number generator engine <code>__x</code> into the output stream <code>__os</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__os</td><td>An output stream. </td></tr>
    <tr><td class="paramname">__x</td><td>A % mersenne_twister_engine random number generator engine.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The output stream with the state of <code>__x</code> inserted or in an error state. </dd></dl>

</div>
</div>
<a id="a96c6f6aabca5106a2db6ecc834bbddfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96c6f6aabca5106a2db6ecc834bbddfe">&#9670;&nbsp;</a></span>operator==</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a06272.html">mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt; &amp;&#160;</td>
          <td class="paramname"><em>__lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a06272.html">mersenne_twister_engine</a>&lt; _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f &gt; &amp;&#160;</td>
          <td class="paramname"><em>__rhs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compares two % mersenne_twister_engine random number generator objects of the same type for equality. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__lhs</td><td>A % mersenne_twister_engine random number generator object. </td></tr>
    <tr><td class="paramname">__rhs</td><td>Another % mersenne_twister_engine random number generator object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the infinite sequences of generated values would be equal, false otherwise. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00547">547</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<a id="a4fe6e606a61991ce6007b14402043497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fe6e606a61991ce6007b14402043497">&#9670;&nbsp;</a></span>operator&gt;&gt;</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _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&gt; </div>
<div class="memtemplate">
template&lt;typename _UIntType1 , size_t __w1, size_t __n1, size_t __m1, size_t __r1, _UIntType1 __a1, size_t __u1, _UIntType1 __d1, size_t __s1, _UIntType1 __b1, size_t __t1, _UIntType1 __c1, size_t __l1, _UIntType1 __f1, typename _CharT , typename _Traits &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a02456.html">std::basic_istream</a>&lt;_CharT, _Traits&gt;&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a02456.html">std::basic_istream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td>
          <td class="paramname"><em>__is</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a06272.html">std::mersenne_twister_engine</a>&lt; _UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1 &gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Extracts the current state of a % mersenne_twister_engine random number generator engine <code>__x</code> from the input stream <code>__is</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__is</td><td>An input stream. </td></tr>
    <tr><td class="paramname">__x</td><td>A % mersenne_twister_engine random number generator engine.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The input stream with the state of <code>__x</code> extracted or in an error state. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="a00452_source.html">random.h</a></li>
<li><a class="el" href="a17055_source.html">bits/random.tcc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a01538.html">std</a></li><li class="navelem"><a class="el" href="a06272.html">mersenne_twister_engine</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>