Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > aaf33964de706a538481c929c1da6a44 > files > 4173

faust-doc-0.9.10-5mdv2010.1.x86_64.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>FAUST compiler: interval.hh File 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.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>interval.hh File Reference</h1><code>#include &lt;math.h&gt;</code><br/>
<code>#include &lt;iostream&gt;</code><br/>
<div class="dynheader">
Include dependency graph for interval.hh:</div>
<div class="dynsection">
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="interval_8hh_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structinterval.html">interval</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#ab00cd36d34731f12625bec726f77bc92">operator&lt;&lt;</a> (ostream &amp;dst, const <a class="el" href="structinterval.html">interval</a> &amp;i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a> (double x, double y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a> (double x, double y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a88026ff0719cf67b231a7bd35accd7d6">min4</a> (double a, double b, double c, double d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a2aa9bf8104ad90fc808be876e4a57ac1">max4</a> (double a, double b, double c, double d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#add8dd76587e1fc6361f39259a690f701">reunion</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#aa7c0ed867b816452e909174065fdb9f1">operator+</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a9c1597accd473c1429f9809ca7286609">operator-</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a97008fc77c46241b355ba31c34068c1b">operator*</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a9aa8204fe1ce77fdac0677f6a9500210">operator/</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a56b3e3a54e12507fd5c3f81a07f54b50">operator%</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a> (double x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#af7f672d1cca19edd84c240f492805de7">operator&amp;</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a53fd1fed807fb0c54af1cdd498d62831">operator|</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#ac23954c869bdea963b901423b928c6d3">operator^</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a0766156b376d4587c9d678b062f29549">operator&lt;&lt;</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a0337a8890e826188b960129cfeb30e33">operator&gt;&gt;</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a82a3d8bffaad99f2da8175f405c85aa9">operator&lt;</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a6dba1cd8dede14d793f7696c3190b8d8">operator&lt;=</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#af6e54f2bca16b49f95e555d82b660c46">operator&gt;</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a8351759f08cda4bac960b328144f1209">operator&gt;=</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a9962bbe261c8872a42a1125b7f0ff476">operator==</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#ae457632d357000038df6b85f164c742d">operator!=</a> (const <a class="el" href="structinterval.html">interval</a> &amp;, const <a class="el" href="structinterval.html">interval</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#acaf39d3b928d74a727b0e900f936d80d">min</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a9acda6868a7283f8cbb11d0a3846a87a">max</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x, const <a class="el" href="structinterval.html">interval</a> &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinterval.html">interval</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interval_8hh.html#a466c6b7b96c9d292b7b4177fae8e0801">abs</a> (const <a class="el" href="structinterval.html">interval</a> &amp;x)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a466c6b7b96c9d292b7b4177fae8e0801"></a><!-- doxytag: member="interval.hh::abs" ref="a466c6b7b96c9d292b7b4177fae8e0801" args="(const interval &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> abs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00206">206</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, <a class="el" href="interval_8hh_source.html#l00060">max()</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p>Referenced by <a class="el" href="mterm_8cpp_source.html#l00064">mterm::complexity()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00207"></a>00207 {
<a name="l00208"></a>00208     <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) {
<a name="l00209"></a>00209         <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00210"></a>00210             <span class="keywordflow">return</span> x;
<a name="l00211"></a>00211         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a> &lt; 0) {
<a name="l00212"></a>00212             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(fabs(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>), fabs(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>));
<a name="l00213"></a>00213         } <span class="keywordflow">else</span> {
<a name="l00214"></a>00214             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(fabs(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>), x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00215"></a>00215         }
<a name="l00216"></a>00216     } <span class="keywordflow">else</span> {
<a name="l00217"></a>00217         <span class="keywordflow">return</span> x;
<a name="l00218"></a>00218     }
<a name="l00219"></a>00219 }       
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="aae9ccb2d0315a96ffe835b04d12eee96"></a><!-- doxytag: member="interval.hh::bitmask" ref="aae9ccb2d0315a96ffe835b04d12eee96" args="(double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bitmask </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00111">111</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>Referenced by <a class="el" href="interval_8hh_source.html#l00115">operator&amp;()</a>, and <a class="el" href="interval_8hh_source.html#l00136">operator|()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00111"></a>00111 { <span class="keywordflow">return</span> (1 &lt;&lt; (<span class="keywordtype">int</span>(log2(x))+1)) - 1; }
</pre></div></p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a9acda6868a7283f8cbb11d0a3846a87a"></a><!-- doxytag: member="interval.hh::max" ref="a9acda6868a7283f8cbb11d0a3846a87a" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> max </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00201">201</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00060">max()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00202"></a>00202 {
<a name="l00203"></a>00203     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(<a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>,y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>), <a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>,y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00204"></a>00204 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a1c45761573e6cbc97cfacac78d905016"></a><!-- doxytag: member="interval.hh::max" ref="a1c45761573e6cbc97cfacac78d905016" args="(double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double max </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00060">60</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>Referenced by <a class="el" href="interval_8hh_source.html#l00206">abs()</a>, <a class="el" href="mterm_8cpp_source.html#l00252">common()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00087">computeBoxComplexity()</a>, <a class="el" href="seqSchema_8cpp_source.html#l00230">computeHorzGap()</a>, <a class="el" href="maxprim_8cpp_source.html#l00036">MaxPrim::computeSigOutput()</a>, <a class="el" href="boxtype_8cpp_source.html#l00097">infereBoxType()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="remainderprim_8cpp_source.html#l00027">RemainderPrim::infereSigOrder()</a>, <a class="el" href="powprim_8cpp_source.html#l00026">PowPrim::infereSigOrder()</a>, <a class="el" href="minprim_8cpp_source.html#l00029">MinPrim::infereSigOrder()</a>, <a class="el" href="maxprim_8cpp_source.html#l00029">MaxPrim::infereSigOrder()</a>, <a class="el" href="fmodprim_8cpp_source.html#l00026">FmodPrim::infereSigOrder()</a>, <a class="el" href="atan2prim_8cpp_source.html#l00026">Atan2Prim::infereSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="maxprim_8cpp_source.html#l00019">MaxPrim::infereSigType()</a>, <a class="el" href="boxes_8cpp_source.html#l00417">isBoxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00423">isBoxVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00274">isSigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00280">isSigVBargraph()</a>, <a class="el" href="blockSchema_8cpp_source.html#l00040">makeBlockSchema()</a>, <a class="el" href="recSchema_8cpp_source.html#l00034">makeRecSchema()</a>, <a class="el" href="interval_8hh_source.html#l00201">max()</a>, <a class="el" href="interval_8hh_source.html#l00062">max4()</a>, <a class="el" href="sigtype_8hh_source.html#l00191">mergeinterval()</a>, <a class="el" href="splitSchema_8cpp_source.html#l00068">splitSchema::place()</a>, <a class="el" href="seqSchema_8cpp_source.html#l00082">seqSchema::place()</a>, <a class="el" href="mergeSchema_8cpp_source.html#l00066">mergeSchema::place()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01293">DocCompiler::prepareIntervallicUI()</a>, <a class="el" href="ppbox_8cpp_source.html#l00113">boxpp::print()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, <a class="el" href="interval_8hh_source.html#l00064">reunion()</a>, <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>, and <a class="el" href="eval_8cpp_source.html#l00733">writeIdentValue()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00060"></a>00060 { <span class="keywordflow">return</span> (x&gt;y) ? x:y; }
</pre></div></p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a2aa9bf8104ad90fc808be876e4a57ac1"></a><!-- doxytag: member="interval.hh::max4" ref="a2aa9bf8104ad90fc808be876e4a57ac1" args="(double a, double b, double c, double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double max4 </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00062">62</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00060">max()</a>.</p>

<p>Referenced by <a class="el" href="interval_8hh_source.html#l00084">operator*()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00062"></a>00062 { <span class="keywordflow">return</span> <a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(<a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(a,b),<a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(c,d)); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="acaf39d3b928d74a727b0e900f936d80d"></a><!-- doxytag: member="interval.hh::min" ref="acaf39d3b928d74a727b0e900f936d80d" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> min </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00196">196</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00059">min()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00197"></a>00197 {
<a name="l00198"></a>00198     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(<a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>,y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>), <a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>,y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00199"></a>00199 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a2f8edc4561e9744ed4233b205fa7ec32"></a><!-- doxytag: member="interval.hh::min" ref="a2f8edc4561e9744ed4233b205fa7ec32" args="(double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double min </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00059">59</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>Referenced by <a class="el" href="mterm_8cpp_source.html#l00252">common()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00087">computeBoxComplexity()</a>, <a class="el" href="minprim_8cpp_source.html#l00036">MinPrim::computeSigOutput()</a>, <a class="el" href="decorateSchema_8cpp_source.html#l00107">decorateSchema::draw()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00874">ScalarCompiler::generateSelect2()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00933">ScalarCompiler::generateSelect3()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="minprim_8cpp_source.html#l00019">MinPrim::infereSigType()</a>, <a class="el" href="boxes_8cpp_source.html#l00417">isBoxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00423">isBoxVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00274">isSigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00280">isSigVBargraph()</a>, <a class="el" href="sigtype_8hh_source.html#l00191">mergeinterval()</a>, <a class="el" href="interval_8hh_source.html#l00196">min()</a>, <a class="el" href="interval_8hh_source.html#l00061">min4()</a>, <a class="el" href="sigtype_8cpp_source.html#l00127">operator|()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01293">DocCompiler::prepareIntervallicUI()</a>, <a class="el" href="ppbox_8cpp_source.html#l00113">boxpp::print()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, <a class="el" href="interval_8hh_source.html#l00064">reunion()</a>, <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>, <a class="el" href="eval_8cpp_source.html#l00733">writeIdentValue()</a>, and <a class="el" href="occurences_8cpp_source.html#l00014">xVariability()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00059"></a>00059 { <span class="keywordflow">return</span> (x&lt;y) ? x:y; }
</pre></div></p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a88026ff0719cf67b231a7bd35accd7d6"></a><!-- doxytag: member="interval.hh::min4" ref="a88026ff0719cf67b231a7bd35accd7d6" args="(double a, double b, double c, double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double min4 </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00061">61</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00059">min()</a>.</p>

<p>Referenced by <a class="el" href="interval_8hh_source.html#l00084">operator*()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00061"></a>00061 { <span class="keywordflow">return</span> <a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(<a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(a,b),<a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(c,d)); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ae457632d357000038df6b85f164c742d"></a><!-- doxytag: member="interval.hh::operator!=" ref="ae457632d357000038df6b85f164c742d" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00189">189</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00190"></a>00190 {
<a name="l00191"></a>00191     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00192"></a>00192 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a56b3e3a54e12507fd5c3f81a07f54b50"></a><!-- doxytag: member="interval.hh::operator%" ref="a56b3e3a54e12507fd5c3f81a07f54b50" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator% </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00104">104</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00105"></a>00105 {
<a name="l00106"></a>00106     <span class="keywordflow">return</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0 &amp;&amp; y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt; 0) 
<a name="l00107"></a>00107             ? <a class="code" href="structinterval.html">interval</a>(0,y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>)
<a name="l00108"></a>00108             : <a class="code" href="structinterval.html">interval</a>();
<a name="l00109"></a>00109 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="af7f672d1cca19edd84c240f492805de7"></a><!-- doxytag: member="interval.hh::operator&amp;" ref="af7f672d1cca19edd84c240f492805de7" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&amp; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00115">115</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00111">bitmask()</a>, <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00116"></a>00116 {
<a name="l00117"></a>00117     <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) {
<a name="l00118"></a>00118         <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0 &amp; y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00119"></a>00119             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>) &amp; <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00120"></a>00120         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00121"></a>00121             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00122"></a>00122         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00123"></a>00123             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00124"></a>00124         } <span class="keywordflow">else</span> {
<a name="l00125"></a>00125             <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00126"></a>00126         }
<a name="l00127"></a>00127     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp; x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00128"></a>00128         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00129"></a>00129     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp; y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00130"></a>00130         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00131"></a>00131     } <span class="keywordflow">else</span> {
<a name="l00132"></a>00132         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00133"></a>00133     }
<a name="l00134"></a>00134 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a97008fc77c46241b355ba31c34068c1b"></a><!-- doxytag: member="interval.hh::operator*" ref="a97008fc77c46241b355ba31c34068c1b" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00084">84</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, <a class="el" href="interval_8hh_source.html#l00062">max4()</a>, <a class="el" href="interval_8hh_source.html#l00061">min4()</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00085"></a>00085 { 
<a name="l00086"></a>00086     <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>&amp;y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) {
<a name="l00087"></a>00087         <span class="keywordtype">double</span> a=x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>*y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>; 
<a name="l00088"></a>00088         <span class="keywordtype">double</span> b=x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>*y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>; 
<a name="l00089"></a>00089         <span class="keywordtype">double</span> c=x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>*y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>; 
<a name="l00090"></a>00090         <span class="keywordtype">double</span> d=x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>*y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>;
<a name="l00091"></a>00091         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(<a class="code" href="interval_8hh.html#a88026ff0719cf67b231a7bd35accd7d6">min4</a>(a,b,c,d), <a class="code" href="interval_8hh.html#a2aa9bf8104ad90fc808be876e4a57ac1">max4</a>(a,b,c,d));
<a name="l00092"></a>00092     } <span class="keywordflow">else</span> {
<a name="l00093"></a>00093         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00094"></a>00094     }
<a name="l00095"></a>00095 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="aa7c0ed867b816452e909174065fdb9f1"></a><!-- doxytag: member="interval.hh::operator+" ref="aa7c0ed867b816452e909174065fdb9f1" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00074">74</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00075"></a>00075 { 
<a name="l00076"></a>00076     <span class="keywordflow">return</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>&amp;y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) ? <a class="code" href="structinterval.html">interval</a>(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>+y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>, x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>+y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>) : <a class="code" href="structinterval.html">interval</a>(); 
<a name="l00077"></a>00077 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a9c1597accd473c1429f9809ca7286609"></a><!-- doxytag: member="interval.hh::operator&#45;" ref="a9c1597accd473c1429f9809ca7286609" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00079">79</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00080"></a>00080 { 
<a name="l00081"></a>00081     <span class="keywordflow">return</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) ? <a class="code" href="structinterval.html">interval</a>(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>-y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>, x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>-y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>) : <a class="code" href="structinterval.html">interval</a>();; 
<a name="l00082"></a>00082 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a9aa8204fe1ce77fdac0677f6a9500210"></a><!-- doxytag: member="interval.hh::operator/" ref="a9aa8204fe1ce77fdac0677f6a9500210" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00097">97</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00098"></a>00098 {
<a name="l00099"></a>00099     <span class="keywordflow">return</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; (y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt; 0 | y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a> &lt; 0)) 
<a name="l00100"></a>00100             ? x * <a class="code" href="structinterval.html">interval</a>(1/y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>,1/y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>)
<a name="l00101"></a>00101             : interval();
<a name="l00102"></a>00102 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a82a3d8bffaad99f2da8175f405c85aa9"></a><!-- doxytag: member="interval.hh::operator&lt;" ref="a82a3d8bffaad99f2da8175f405c85aa9" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00164">164</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00165"></a>00165 {
<a name="l00166"></a>00166     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00167"></a>00167 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a0766156b376d4587c9d678b062f29549"></a><!-- doxytag: member="interval.hh::operator&lt;&lt;" ref="a0766156b376d4587c9d678b062f29549" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00150">150</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00151"></a>00151 {
<a name="l00152"></a>00152     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00153"></a>00153 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="ab00cd36d34731f12625bec726f77bc92"></a><!-- doxytag: member="interval.hh::operator&lt;&lt;" ref="ab00cd36d34731f12625bec726f77bc92" args="(ostream &amp;dst, const interval &amp;i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>i</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00050">50</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00051"></a>00051 { 
<a name="l00052"></a>00052     <span class="keywordflow">if</span> (i.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) {
<a name="l00053"></a>00053         <span class="keywordflow">return</span>  dst &lt;&lt; <span class="stringliteral">&quot;interval(&quot;</span> &lt;&lt; i.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; i.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a> &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;
<a name="l00054"></a>00054     } <span class="keywordflow">else</span> {
<a name="l00055"></a>00055         <span class="keywordflow">return</span>  dst &lt;&lt; <span class="stringliteral">&quot;interval()&quot;</span>;
<a name="l00056"></a>00056     }
<a name="l00057"></a>00057 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a6dba1cd8dede14d793f7696c3190b8d8"></a><!-- doxytag: member="interval.hh::operator&lt;=" ref="a6dba1cd8dede14d793f7696c3190b8d8" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&lt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00169">169</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00170"></a>00170 {
<a name="l00171"></a>00171     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00172"></a>00172 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a9962bbe261c8872a42a1125b7f0ff476"></a><!-- doxytag: member="interval.hh::operator==" ref="a9962bbe261c8872a42a1125b7f0ff476" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00184">184</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00185"></a>00185 {
<a name="l00186"></a>00186     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00187"></a>00187 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="af6e54f2bca16b49f95e555d82b660c46"></a><!-- doxytag: member="interval.hh::operator&gt;" ref="af6e54f2bca16b49f95e555d82b660c46" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&gt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00174">174</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00175"></a>00175 {
<a name="l00176"></a>00176     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00177"></a>00177 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a8351759f08cda4bac960b328144f1209"></a><!-- doxytag: member="interval.hh::operator&gt;=" ref="a8351759f08cda4bac960b328144f1209" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&gt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00179">179</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00180"></a>00180 {
<a name="l00181"></a>00181     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0,1);
<a name="l00182"></a>00182 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a0337a8890e826188b960129cfeb30e33"></a><!-- doxytag: member="interval.hh::operator&gt;&gt;" ref="a0337a8890e826188b960129cfeb30e33" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00155">155</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00156"></a>00156 {
<a name="l00157"></a>00157     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00158"></a>00158 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="ac23954c869bdea963b901423b928c6d3"></a><!-- doxytag: member="interval.hh::operator^" ref="ac23954c869bdea963b901423b928c6d3" args="(const interval &amp;, const interval &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator^ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00145">145</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00146"></a>00146 {
<a name="l00147"></a>00147     <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00148"></a>00148 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a53fd1fed807fb0c54af1cdd498d62831"></a><!-- doxytag: member="interval.hh::operator|" ref="a53fd1fed807fb0c54af1cdd498d62831" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> operator| </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00136">136</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00111">bitmask()</a>, <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00137"></a>00137 {
<a name="l00138"></a>00138     <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp;&amp; x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0 &amp;&amp; y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> &gt;= 0) {
<a name="l00139"></a>00139         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(0, <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>) | <a class="code" href="interval_8hh.html#aae9ccb2d0315a96ffe835b04d12eee96">bitmask</a>(y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00140"></a>00140     } <span class="keywordflow">else</span> {
<a name="l00141"></a>00141         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00142"></a>00142     }
<a name="l00143"></a>00143 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="add8dd76587e1fc6361f39259a690f701"></a><!-- doxytag: member="interval.hh::reunion" ref="add8dd76587e1fc6361f39259a690f701" args="(const interval &amp;x, const interval &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structinterval.html">interval</a> reunion </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structinterval.html">interval</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="interval_8hh_source.html#l00064">64</a> of file <a class="el" href="interval_8hh_source.html">interval.hh</a>.</p>

<p>References <a class="el" href="interval_8hh_source.html#l00040">interval::hi</a>, <a class="el" href="interval_8hh_source.html#l00039">interval::lo</a>, <a class="el" href="interval_8hh_source.html#l00060">max()</a>, <a class="el" href="interval_8hh_source.html#l00059">min()</a>, and <a class="el" href="interval_8hh_source.html#l00038">interval::valid</a>.</p>

<p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00065"></a>00065 {
<a name="l00066"></a>00066     <span class="keywordflow">if</span> (x.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> &amp; y.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a>) {
<a name="l00067"></a>00067         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>(<a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(x.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>,y.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a>), <a class="code" href="interval_8hh.html#a1c45761573e6cbc97cfacac78d905016">max</a>(x.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>,y.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>));
<a name="l00068"></a>00068     } <span class="keywordflow">else</span> {
<a name="l00069"></a>00069         <span class="keywordflow">return</span> <a class="code" href="structinterval.html">interval</a>();
<a name="l00070"></a>00070     }
<a name="l00071"></a>00071 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:07 2010 for FAUST compiler by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>