Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c5653a35bb94fee65ffe21230992c863 > files > 239

linbox-doc-1.2.1-1.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>linbox: RandIterAbstract Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">linbox</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespace_lin_box.html">LinBox</a>      </li>
      <li class="navelem"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">RandIterAbstract Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::RandIterAbstract" -->
<p>Random field element generator.  
 <a href="class_lin_box_1_1_rand_iter_abstract.html#details">More...</a></p>

<p><code>#include &lt;abstract.h&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for RandIterAbstract:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="class_lin_box_1_1_rand_iter_abstract.png" usemap="#RandIterAbstract_map" alt=""/>
  <map id="RandIterAbstract_map" name="RandIterAbstract_map">
<area href="class_lin_box_1_1_rand_iter_envelope.html" title="Random field base element generator." alt="RandIterEnvelope&lt; Field &gt;" shape="rect" coords="0,56,164,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#a032491c3f68a08a6b68337e44e0c4fe3">construct</a> (const <a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> &amp;F, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;size=0, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;seed=0) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual constructor from field, sampling size, and seed.  <a href="#a032491c3f68a08a6b68337e44e0c4fe3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#a94e7af4c3e320c823916a4c086630bc9">clone</a> (void) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual copy constructor.  <a href="#a94e7af4c3e320c823916a4c086630bc9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#a3573203f19af6b1677c22ea69c55e365">operator=</a> (const <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a> &amp;x)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#a3573203f19af6b1677c22ea69c55e365"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac99d33c1b1db23455c8a0c385418f2e7"></a><!-- doxytag: member="LinBox::RandIterAbstract::~RandIterAbstract" ref="ac99d33c1b1db23455c8a0c385418f2e7" args="(void)" -->
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#ac99d33c1b1db23455c8a0c385418f2e7">~RandIterAbstract</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lin_box_1_1_element_abstract.html">Element</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#af24414c54db902d1302e5d599d86606d">random</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">Element</a> &amp;a) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field element creator.  <a href="#af24414c54db902d1302e5d599d86606d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c8e6ca891f729604ec46663287cc641"></a><!-- doxytag: member="LinBox::RandIterAbstract::RandIterAbstract" ref="a4c8e6ca891f729604ec46663287cc641" args="(void)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#a4c8e6ca891f729604ec46663287cc641">RandIterAbstract</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor Required by derived classes, but protected because this class should never be constructed by itself. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Random field element generator. </p>
<p>This encapsulated class is a generator of random field elements for the encapsulating field. It is required to contain constructors from a field object and two integers. The first integer being a cardinality of a set to draw the random elements from, and the second being a seed for the random number generator. It is also required to contain a copy constructor, a destructor, and <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html#af24414c54db902d1302e5d599d86606d" title="Random field element creator.">random()</a> which acts on a reference to a field element. The random value is written to the argument and also returned as a reference. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random_f_e_g_w.html">Random field element generator wrappers</a> Randiter Field Element Generator wrapper </dd></dl>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a032491c3f68a08a6b68337e44e0c4fe3"></a><!-- doxytag: member="LinBox::RandIterAbstract::construct" ref="a032491c3f68a08a6b68337e44e0c4fe3" args="(const FieldAbstract &amp;F, const integer &amp;size=0, const integer &amp;seed=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a>* construct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>size</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>seed</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual constructor from field, sampling size, and seed. </p>
<p>Required because constructors cannot be virtual. Passes construction on to derived classes. The random field element iterator works in the field F, is seeded by seed, and it returns any one element with probability no more than 1/min (size, F.cardinality (c)). A sampling size of zero means to sample from the entire field. A seed of zero means to use some arbitrary seed for the generator. Purely virtual. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td><a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field archetype object in which to do arithmetic </td></tr>
    <tr><td class="paramname">size</td><td>constant integer reference of sample size from which to sample (default = 0) </td></tr>
    <tr><td class="paramname">seed</td><td>constant integer reference from which to seed random number generator (default = 0) </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html#a9e00cbaef2f79081219c72d70477e7f5">RandIterEnvelope&lt; Field &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a94e7af4c3e320c823916a4c086630bc9"></a><!-- doxytag: member="LinBox::RandIterAbstract::clone" ref="a94e7af4c3e320c823916a4c086630bc9" args="(void) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a>* clone </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual copy constructor. </p>
<p>Required because constructors cannot be virtual. Passes construction on to derived classes. Purely virtual. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to new <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html" title="Random field element generator.">RandIterAbstract</a> object in dynamic memory. </dd></dl>

<p>Implemented in <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html#a3a5198dd096f1bf5b5026b206b4244e7">RandIterEnvelope&lt; Field &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a3573203f19af6b1677c22ea69c55e365"></a><!-- doxytag: member="LinBox::RandIterAbstract::operator=" ref="a3573203f19af6b1677c22ea69c55e365" args="(const RandIterAbstract &amp;x)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment operator. </p>
<p>Purely virtual. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>constant reference to <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html" title="Random field element generator.">RandIterAbstract</a> object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to self </dd></dl>

<p>Implemented in <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html#a7064bd9e0bebf53e9e7167a5cc474f24">RandIterEnvelope&lt; Field &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af24414c54db902d1302e5d599d86606d"></a><!-- doxytag: member="LinBox::RandIterAbstract::random" ref="af24414c54db902d1302e5d599d86606d" args="(Element &amp;a) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lin_box_1_1_element_abstract.html">Element</a>&amp; random </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Random field element creator. </p>
<p>Purely virtual. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to <a class="el" href="class_lin_box_1_1_element_abstract.html" title="Abstract element base class, a technicality.">ElementAbstract</a> object </dd></dl>

<p>Implemented in <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html#adcd52d6cef0599b26cbe79ee36802b92">RandIterEnvelope&lt; Field &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>randiter/abstract.h</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>