Sophie

Sophie

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

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: BooleanSwitch 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_boolean_switch.html">BooleanSwitch</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">BooleanSwitch Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::BooleanSwitch" -->
<p>Boolean switch object.  
 <a href="class_lin_box_1_1_boolean_switch.html#details">More...</a></p>

<p><code>#include &lt;boolean.h&gt;</code></p>
<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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_boolean_switch.html#acd2a2e32867c64ddc5944379ecfa9b4a">BooleanSwitch</a> (const bool s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from an STL vector of booleans.  <a href="#acd2a2e32867c64ddc5944379ecfa9b4a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ac966018a488a9fb415be08f95d153b"></a><!-- doxytag: member="LinBox::BooleanSwitch::~BooleanSwitch" ref="a9ac966018a488a9fb415be08f95d153b" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_boolean_switch.html#a9ac966018a488a9fb415be08f95d153b">~BooleanSwitch</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_boolean_switch.html#ab66ad74cf0e7c5da74541c8afe33385a">apply</a> (const Field &amp;F, typename Field::Element &amp;x, typename Field::Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply switch function.  <a href="#ab66ad74cf0e7c5da74541c8afe33385a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_boolean_switch.html#a14a073622413520851be822998e2e640">applyTranspose</a> (const Field &amp;F, typename Field::Element &amp;x, typename Field::Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply switch transpose function.  <a href="#a14a073622413520851be822998e2e640"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Boolean switch object. </p>
<p>This is a switch predicate object that is applied to two references to elements to switch them as needed by the <a class="el" href="class_lin_box_1_1_butterfly.html">Butterfly</a>\ Switching\ Network\ BlackBox\ Matrix\ Object. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="acd2a2e32867c64ddc5944379ecfa9b4a"></a><!-- doxytag: member="LinBox::BooleanSwitch::BooleanSwitch" ref="acd2a2e32867c64ddc5944379ecfa9b4a" args="(const bool s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_boolean_switch.html">BooleanSwitch</a> </td>
          <td>(</td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from an STL vector of booleans. </p>
<p>The switch is applied using the vector of booleans. A true value means to swap the two elements, and a false value means not to. The apply function starts at the beginning of the vector moving forward through it, and applyTranspose function starts at the end moving backwards. Both repeat the vector after they pass through it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>vector of switches </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab66ad74cf0e7c5da74541c8afe33385a"></a><!-- doxytag: member="LinBox::BooleanSwitch::apply" ref="ab66ad74cf0e7c5da74541c8afe33385a" args="(const Field &amp;F, typename Field::Element &amp;x, typename Field::Element &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool apply </td>
          <td>(</td>
          <td class="paramtype">const Field &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Apply switch function. </p>
<p>Switches the elements in references according to current boolean value. Swaps the elements if boolean is true, otherwise does nothing. It is templatized by the element type to be swapped. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool <code>true</code> if swapped, <code>false</code> otherwise </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td></td></tr>
    <tr><td class="paramname">x</td><td>reference to first element to be switched </td></tr>
    <tr><td class="paramname">y</td><td>reference to second element to be switched </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a14a073622413520851be822998e2e640"></a><!-- doxytag: member="LinBox::BooleanSwitch::applyTranspose" ref="a14a073622413520851be822998e2e640" args="(const Field &amp;F, typename Field::Element &amp;x, typename Field::Element &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool applyTranspose </td>
          <td>(</td>
          <td class="paramtype">const Field &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Apply switch transpose function. </p>
<p>Switches the elements in references according to current boolean value. Swaps the elements if boolean is true, otherwise does nothing. It is templatized by the element type to be swapped. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool <code>true</code> if swapped, <code>false</code> otherwise </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td></td></tr>
    <tr><td class="paramname">x</td><td>reference to first element to be switched </td></tr>
    <tr><td class="paramname">y</td><td>reference to second element to be switched </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>boolean.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>