Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > bfb47da7e0322bcb0e23e4b1838d9db9 > files > 3362

libstdc++-docs-8.4.0-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::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &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('a06279.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="a06276.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">std::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &gt; Class Template Reference<div class="ingroups"><a class="el" href="a01476.html">Numerics</a> &raquo; <a class="el" href="a01494.html">Random Number Generation</a> &raquo; <a class="el" href="a01534.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:abbbc2513574ed100d700a15bcae13b5a"><td class="memItemLeft" align="right" valign="top">typedef _UIntType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a></td></tr>
<tr class="separator:abbbc2513574ed100d700a15bcae13b5a"><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:acc87e25beee4323ff5782e77d5d327bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#acc87e25beee4323ff5782e77d5d327bc">subtract_with_carry_engine</a> (<a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a> __sd=default_seed)</td></tr>
<tr class="separator:acc87e25beee4323ff5782e77d5d327bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb01e590a5c84d08db8b5678ca774172"><td class="memTemplParams" colspan="2">template&lt;typename _Sseq , typename  = typename std::enable_if&lt;!std::is_same&lt;_Sseq, subtract_with_carry_engine&gt;::value&gt; ::type&gt; </td></tr>
<tr class="memitem:aeb01e590a5c84d08db8b5678ca774172"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06279.html#aeb01e590a5c84d08db8b5678ca774172">subtract_with_carry_engine</a> (_Sseq &amp;__q)</td></tr>
<tr class="separator:aeb01e590a5c84d08db8b5678ca774172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76b226f563a8fb3eeb3c48999b3e9bc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#a76b226f563a8fb3eeb3c48999b3e9bc4">discard</a> (unsigned long long __z)</td></tr>
<tr class="separator:a76b226f563a8fb3eeb3c48999b3e9bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b6aa59d4719950a6014d38e1559295c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#a7b6aa59d4719950a6014d38e1559295c">operator()</a> ()</td></tr>
<tr class="separator:a7b6aa59d4719950a6014d38e1559295c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5629eb85bb95f545575b9b08bacafda4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#a5629eb85bb95f545575b9b08bacafda4">seed</a> (<a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a> __sd=default_seed)</td></tr>
<tr class="separator:a5629eb85bb95f545575b9b08bacafda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a212731fabf10c7de62630f2c38b22b2c"><td class="memTemplParams" colspan="2">template&lt;typename _Sseq &gt; </td></tr>
<tr class="memitem:a212731fabf10c7de62630f2c38b22b2c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04191.html">std::enable_if</a>&lt; <a class="el" href="a03283.html">std::is_class</a>&lt; _Sseq &gt;::value &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06279.html#a212731fabf10c7de62630f2c38b22b2c">seed</a> (_Sseq &amp;__q)</td></tr>
<tr class="separator:a212731fabf10c7de62630f2c38b22b2c"><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:aeea39effc4518e2236214b51cc0e9f93"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#aeea39effc4518e2236214b51cc0e9f93">max</a> ()</td></tr>
<tr class="separator:aeea39effc4518e2236214b51cc0e9f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a945725b8377db61951fc9c79a0f9aac1"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#a945725b8377db61951fc9c79a0f9aac1">min</a> ()</td></tr>
<tr class="separator:a945725b8377db61951fc9c79a0f9aac1"><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:aa9d7ab2114fdf547339463d8563ba267"><td class="memItemLeft" align="right" valign="top"><a id="aa9d7ab2114fdf547339463d8563ba267"></a>
static constexpr <a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>default_seed</b></td></tr>
<tr class="separator:aa9d7ab2114fdf547339463d8563ba267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41b8ce1973bd8c5e1c494d02cc46f97"><td class="memItemLeft" align="right" valign="top"><a id="ad41b8ce1973bd8c5e1c494d02cc46f97"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>long_lag</b></td></tr>
<tr class="separator:ad41b8ce1973bd8c5e1c494d02cc46f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2b734fbc17c6a06c31e9bb98c8466bc"><td class="memItemLeft" align="right" valign="top"><a id="aa2b734fbc17c6a06c31e9bb98c8466bc"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>short_lag</b></td></tr>
<tr class="separator:aa2b734fbc17c6a06c31e9bb98c8466bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a640e7fb7a30ce8c31595eb611c61925b"><td class="memItemLeft" align="right" valign="top"><a id="a640e7fb7a30ce8c31595eb611c61925b"></a>
static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>word_size</b></td></tr>
<tr class="separator:a640e7fb7a30ce8c31595eb611c61925b"><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:a877333097a3e4f3b054c3c763654e965"><td class="memTemplParams" colspan="2">template&lt;typename _UIntType1 , size_t __w1, size_t __s1, size_t __r1, typename _CharT , typename _Traits &gt; </td></tr>
<tr class="memitem:a877333097a3e4f3b054c3c763654e965"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02463.html">std::basic_ostream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06279.html#a877333097a3e4f3b054c3c763654e965">operator&lt;&lt;</a> (<a class="el" href="a02463.html">std::basic_ostream</a>&lt; _CharT, _Traits &gt; &amp;__os, const <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType1, __w1, __s1, __r1 &gt; &amp;__x)</td></tr>
<tr class="separator:a877333097a3e4f3b054c3c763654e965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad723b232704ecb9396af450f399eb1f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a06279.html#aad723b232704ecb9396af450f399eb1f">operator==</a> (const <a class="el" href="a06279.html">subtract_with_carry_engine</a> &amp;__lhs, const <a class="el" href="a06279.html">subtract_with_carry_engine</a> &amp;__rhs)</td></tr>
<tr class="separator:aad723b232704ecb9396af450f399eb1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0420033b44c3e22e2157546faa851f00"><td class="memTemplParams" colspan="2">template&lt;typename _UIntType1 , size_t __w1, size_t __s1, size_t __r1, typename _CharT , typename _Traits &gt; </td></tr>
<tr class="memitem:a0420033b44c3e22e2157546faa851f00"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02459.html">std::basic_istream</a>&lt; _CharT, _Traits &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a06279.html#a0420033b44c3e22e2157546faa851f00">operator&gt;&gt;</a> (<a class="el" href="a02459.html">std::basic_istream</a>&lt; _CharT, _Traits &gt; &amp;__is, <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType1, __w1, __s1, __r1 &gt; &amp;__x)</td></tr>
<tr class="separator:a0420033b44c3e22e2157546faa851f00"><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 __s, size_t __r&gt;<br />
class std::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &gt;</h3>

<p>The Marsaglia-Zaman generator. </p>
<p>This is a model of a Generalized Fibonacci discrete random number generator, sometimes referred to as the SWC generator.</p>
<p>A discrete random number generator that produces pseudorandom numbers using: </p><p class="formulaDsp">
<img class="formulaDsp" alt="\[ x_{i}\leftarrow(x_{i - s} - x_{i - r} - carry_{i-1}) \bmod m \]" src="form_2.png"/>
</p>
<p>The size of the state is <img class="formulaInl" alt="$r$" src="form_3.png"/> and the maximum period of the generator is <img class="formulaInl" alt="$(m^r - m^s - 1)$" src="form_4.png"/>. </p>

<p class="definition">Definition at line <a class="el" href="a00452_source.html#l00652">652</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="abbbc2513574ed100d700a15bcae13b5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbbc2513574ed100d700a15bcae13b5a">&#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 __s, size_t __r&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _UIntType <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::<a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">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#l00655">655</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="acc87e25beee4323ff5782e77d5d327bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc87e25beee4323ff5782e77d5d327bc">&#9670;&nbsp;</a></span>subtract_with_carry_engine() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::<a class="el" href="a06279.html">subtract_with_carry_engine</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td>
          <td class="paramname"><em>__sd</em> = <code>default_seed</code></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 an explicitly seeded % subtract_with_carry_engine random number generator. </p>

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

<p class="reference">References <a class="el" href="a17058_source.html#l00540">std::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &gt;::seed()</a>.</p>

</div>
</div>
<a id="aeb01e590a5c84d08db8b5678ca774172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb01e590a5c84d08db8b5678ca774172">&#9670;&nbsp;</a></span>subtract_with_carry_engine() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&gt; </div>
<div class="memtemplate">
template&lt;typename _Sseq , typename  = typename std::enable_if&lt;!std::is_same&lt;_Sseq, subtract_with_carry_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="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::<a class="el" href="a06279.html">subtract_with_carry_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 subtract_with_carry_engine random number 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#l00689">689</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

<p class="reference">References <a class="el" href="a17058_source.html#l00540">std::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &gt;::seed()</a>.</p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </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="a00452_source.html#l00735">735</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static constexpr <a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a> <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &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 inclusive maximum value of the range of random integers returned by this generator. </p>

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

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static constexpr <a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a> <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &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 inclusive minimum value of the range of random integers returned by this generator. </p>

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

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType , size_t __w, size_t __s, size_t __r&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a06279.html">subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::<a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a> <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::operator() </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the next random number in the sequence. </p>

<p class="definition">Definition at line <a class="el" href="a17058_source.html#l00595">595</a> of file <a class="el" href="a17058_source.html">bits/random.tcc</a>.</p>

</div>
</div>
<a id="a5629eb85bb95f545575b9b08bacafda4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5629eb85bb95f545575b9b08bacafda4">&#9670;&nbsp;</a></span>seed() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType , size_t __w, size_t __s, size_t __r&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::seed </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a06279.html#abbbc2513574ed100d700a15bcae13b5a">result_type</a>&#160;</td>
          <td class="paramname"><em>__sd</em> = <code>default_seed</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seeds the initial state <img class="formulaInl" alt="$x_0$" src="form_27.png"/> of the random number generator. </p>
<p>N1688[4.19] modifies this as follows. If <code>__value</code> == 0, sets value to 19780503. In any case, with a linear congruential generator lcg(i) having parameters <img class="formulaInl" alt="$ m_{lcg} = 2147483563, a_{lcg} = 40014, c_{lcg} = 0, and lcg(0) = value $" src="form_28.png"/>, sets <img class="formulaInl" alt="$ x_{-r} \dots x_{-1} $" src="form_29.png"/> to <img class="formulaInl" alt="$ lcg(1) \bmod m \dots lcg(r) \bmod m $" src="form_30.png"/> respectively. If <img class="formulaInl" alt="$ x_{-1} = 0 $" src="form_31.png"/> set carry to 1, otherwise sets carry to 0. </p>

<p class="definition">Definition at line <a class="el" href="a17058_source.html#l00540">540</a> of file <a class="el" href="a17058_source.html">bits/random.tcc</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00452_source.html#l00676">std::subtract_with_carry_engine&lt; _UIntType, __w, __s, __r &gt;::subtract_with_carry_engine()</a>.</p>

</div>
</div>
<a id="a212731fabf10c7de62630f2c38b22b2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a212731fabf10c7de62630f2c38b22b2c">&#9670;&nbsp;</a></span>seed() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType , size_t __w, size_t __s, size_t __r&gt; </div>
<div class="memtemplate">
template&lt;typename _Sseq &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a04191.html">std::enable_if</a>&lt; <a class="el" href="a03283.html">std::is_class</a>&lt; _Sseq &gt;::value &gt;::type <a class="el" href="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &gt;::seed </td>
          <td>(</td>
          <td class="paramtype">_Sseq &amp;&#160;</td>
          <td class="paramname"><em>__q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seeds the initial state <img class="formulaInl" alt="$x_0$" src="form_27.png"/> of the % subtract_with_carry_engine random number generator. </p>

<p class="definition">Definition at line <a class="el" href="a17058_source.html#l00569">569</a> of file <a class="el" href="a17058_source.html">bits/random.tcc</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a877333097a3e4f3b054c3c763654e965"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a877333097a3e4f3b054c3c763654e965">&#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 __s, size_t __r&gt; </div>
<div class="memtemplate">
template&lt;typename _UIntType1 , size_t __w1, size_t __s1, size_t __r1, 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="a02463.html">std::basic_ostream</a>&lt;_CharT, _Traits&gt;&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a02463.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="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType1, __w1, __s1, __r1 &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 % subtract_with_carry_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 % subtract_with_carry_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="aad723b232704ecb9396af450f399eb1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad723b232704ecb9396af450f399eb1f">&#9670;&nbsp;</a></span>operator==</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _UIntType, size_t __w, size_t __s, size_t __r&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="a06279.html">subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &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="a06279.html">subtract_with_carry_engine</a>&lt; _UIntType, __w, __s, __r &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 % subtract_with_carry_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 % subtract_with_carry_engine random number generator object. </td></tr>
    <tr><td class="paramname">__rhs</td><td>Another % subtract_with_carry_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#l00760">760</a> of file <a class="el" href="a00452_source.html">random.h</a>.</p>

</div>
</div>
<a id="a0420033b44c3e22e2157546faa851f00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0420033b44c3e22e2157546faa851f00">&#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 __s, size_t __r&gt; </div>
<div class="memtemplate">
template&lt;typename _UIntType1 , size_t __w1, size_t __s1, size_t __r1, 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="a02459.html">std::basic_istream</a>&lt;_CharT, _Traits&gt;&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a02459.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="a06279.html">std::subtract_with_carry_engine</a>&lt; _UIntType1, __w1, __s1, __r1 &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 % subtract_with_carry_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 % subtract_with_carry_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="a17058_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="a01541.html">std</a></li><li class="navelem"><a class="el" href="a06279.html">subtract_with_carry_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>