Sophie

Sophie

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

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: klass.cpp 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>klass.cpp File Reference</h1><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;iostream&gt;</code><br/>
<code>#include &lt;sstream&gt;</code><br/>
<code>#include &lt;string&gt;</code><br/>
<code>#include &lt;list&gt;</code><br/>
<code>#include &lt;map&gt;</code><br/>
<code>#include &quot;<a class="el" href="floats_8hh_source.html">floats.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="smartpointer_8hh_source.html">smartpointer.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="klass_8hh_source.html">klass.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="uitree_8hh_source.html">uitree.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="Text_8hh_source.html">Text.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="signals_8hh_source.html">signals.hh</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for klass.cpp:</div>
<div class="dynsection">
</div>

<p><a href="klass_8cpp_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a7f3d687fcf318bcbdd8b0e08a7a2877e">WORK_STEALING_INDEX</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a3d42e19ff567ac1126726174ba4f0a27">LAST_TASK_INDEX</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a05378f2ac18ca2ec43a5f60a2bab93bb">START_TASK_INDEX</a>&nbsp;&nbsp;&nbsp;LAST_TASK_INDEX + 1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#ad6775f7464b8899a4eb6ce8be81a17c8">START_TASK_MAX</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a18a8d6ca698c9eaf2f270ffaaf19b13e">tab</a> (int n, ostream &amp;fout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a78b5da76dadfb32c2be459ab78763e98">printlines</a> (int n, list&lt; string &gt; &amp;lines, ostream &amp;fout)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a list of lines.  <a href="#a78b5da76dadfb32c2be459ab78763e98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#af2c9d4adde58ed5726c5136d74423e7d">printdecllist</a> (int n, const string &amp;decl, list&lt; string &gt; &amp;content, ostream &amp;fout)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a list of elements (e1, e2,.  <a href="#af2c9d4adde58ed5726c5136d74423e7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a32ff5c21183dba70c007cd5a1ec2e851">isElement</a> (const set&lt; <a class="el" href="structLoop.html">Loop</a> * &gt; &amp;S, <a class="el" href="structLoop.html">Loop</a> *l)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#ad5fccad2c5d3039bbf9427c4df4029f8">computeUseCount</a> (<a class="el" href="structLoop.html">Loop</a> *l)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute how many time each loop is used in a DAG.  <a href="#ad5fccad2c5d3039bbf9427c4df4029f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a8bb9c404e2caf1b17f0924c7d6f484b8">groupSeqLoops</a> (<a class="el" href="structLoop.html">Loop</a> *l)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Group together sequences of loops.  <a href="#a8bb9c404e2caf1b17f0924c7d6f484b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a35ee3fbf2966df0dcc60bde5e8febf73">nonRecursiveLevel</a> (const <a class="el" href="graphSorting_8hh.html#a6d96a753c148d3f890df620d369a07b4">lset</a> &amp;L)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if all the loops are non recursive  <a href="#a35ee3fbf2966df0dcc60bde5e8febf73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#aa2e5563424ef237dea3c2b278a270dde">merge</a> (set&lt; string &gt; &amp;dst, set&lt; string &gt; &amp;src)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a44285cbe41b6d58a00854fead2999187">gVectorSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#afef3420cdcee4f66a23bfaed2f9d9647">gDeepFirstSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a11096523c7bafc4f81b51a38c19e03e8">gOpenMPSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#aed8da6f8f23ca426bf3ea6564e0bd6f2">gSchedulerSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a6913f43c820ecbf6076c31d40598b7ee">gVecSize</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a1ba979dbee201fae63feca5bafc8f394">gUIMacroSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#afc8541b52b32a942648daf968114789c">gVectorLoopVariant</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a023d989e0ba581d81873a04bf696450c">gGroupTaskSwitch</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">map&lt; <a class="el" href="classCTree.html">Tree</a>, set&lt; <a class="el" href="classCTree.html">Tree</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#aaf647729deae314d35817ccb36f088e4">gMetaDataSet</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#ad95b7faa5d80dc925f7c0da761d74d62">gTaskCount</a> = 0</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a3d42e19ff567ac1126726174ba4f0a27"></a><!-- doxytag: member="klass.cpp::LAST_TASK_INDEX" ref="a3d42e19ff567ac1126726174ba4f0a27" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LAST_TASK_INDEX&nbsp;&nbsp;&nbsp;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00280">280</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>.</p>

</div>
</div>
<a class="anchor" id="a05378f2ac18ca2ec43a5f60a2bab93bb"></a><!-- doxytag: member="klass.cpp::START_TASK_INDEX" ref="a05378f2ac18ca2ec43a5f60a2bab93bb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define START_TASK_INDEX&nbsp;&nbsp;&nbsp;LAST_TASK_INDEX + 1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00281">281</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>, and <a class="el" href="klass_8cpp_source.html#l00959">Klass::printComputeMethodScheduler()</a>.</p>

</div>
</div>
<a class="anchor" id="ad6775f7464b8899a4eb6ce8be81a17c8"></a><!-- doxytag: member="klass.cpp::START_TASK_MAX" ref="ad6775f7464b8899a4eb6ce8be81a17c8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define START_TASK_MAX&nbsp;&nbsp;&nbsp;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00283">283</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>.</p>

</div>
</div>
<a class="anchor" id="a7f3d687fcf318bcbdd8b0e08a7a2877e"></a><!-- doxytag: member="klass.cpp::WORK_STEALING_INDEX" ref="a7f3d687fcf318bcbdd8b0e08a7a2877e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WORK_STEALING_INDEX&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00279">279</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad5fccad2c5d3039bbf9427c4df4029f8"></a><!-- doxytag: member="klass.cpp::computeUseCount" ref="ad5fccad2c5d3039bbf9427c4df4029f8" args="(Loop *l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void computeUseCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structLoop.html">Loop</a> *&nbsp;</td>
          <td class="paramname"> <em>l</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute how many time each loop is used in a DAG. </p>

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00245">245</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>References <a class="el" href="loop_8hh_source.html#l00059">Loop::fBackwardLoopDependencies</a>, and <a class="el" href="loop_8hh_source.html#l00068">Loop::fUseCount</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>, <a class="el" href="klass_8cpp_source.html#l00431">Klass::printLoopGraphOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00451">Klass::printLoopGraphScheduler()</a>, and <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00246"></a>00246 {
<a name="l00247"></a>00247     l-&gt;<a class="code" href="structLoop.html#a5237f580c9e6f25693da26d00fda7798" title="how many loops depend on this one">fUseCount</a>++;
<a name="l00248"></a>00248     <span class="keywordflow">if</span> (l-&gt;<a class="code" href="structLoop.html#a5237f580c9e6f25693da26d00fda7798" title="how many loops depend on this one">fUseCount</a> == 1) {
<a name="l00249"></a>00249         <span class="keywordflow">for</span> (lset::iterator p =l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.begin(); p!=l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.end(); p++) {
<a name="l00250"></a>00250             <a class="code" href="klass_8cpp.html#ad5fccad2c5d3039bbf9427c4df4029f8" title="Compute how many time each loop is used in a DAG.">computeUseCount</a>(*p);
<a name="l00251"></a>00251         }
<a name="l00252"></a>00252     }
<a name="l00253"></a>00253 }
</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="a8bb9c404e2caf1b17f0924c7d6f484b8"></a><!-- doxytag: member="klass.cpp::groupSeqLoops" ref="a8bb9c404e2caf1b17f0924c7d6f484b8" args="(Loop *l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void groupSeqLoops </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structLoop.html">Loop</a> *&nbsp;</td>
          <td class="paramname"> <em>l</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Group together sequences of loops. </p>

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00258">258</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>References <a class="el" href="loop_8cpp_source.html#l00215">Loop::concat()</a>, <a class="el" href="loop_8hh_source.html#l00059">Loop::fBackwardLoopDependencies</a>, and <a class="el" href="loop_8hh_source.html#l00068">Loop::fUseCount</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>, <a class="el" href="klass_8cpp_source.html#l00431">Klass::printLoopGraphOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00451">Klass::printLoopGraphScheduler()</a>, and <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00259"></a>00259 {
<a name="l00260"></a>00260     <span class="keywordtype">int</span> n = l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.size();
<a name="l00261"></a>00261     <span class="keywordflow">if</span> (n==0) {
<a name="l00262"></a>00262         <span class="keywordflow">return</span>;
<a name="l00263"></a>00263     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n==1) {
<a name="l00264"></a>00264         <a class="code" href="structLoop.html">Loop</a>* f = *(l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.begin());
<a name="l00265"></a>00265         <span class="keywordflow">if</span> (f-&gt;<a class="code" href="structLoop.html#a5237f580c9e6f25693da26d00fda7798" title="how many loops depend on this one">fUseCount</a> ==  1) {
<a name="l00266"></a>00266             l-&gt;<a class="code" href="structLoop.html#a11c5adcd88f4c8fabbaa9f6feae5a8f7">concat</a>(f);
<a name="l00267"></a>00267             <a class="code" href="klass_8cpp.html#a8bb9c404e2caf1b17f0924c7d6f484b8" title="Group together sequences of loops.">groupSeqLoops</a>(l);
<a name="l00268"></a>00268         } <span class="keywordflow">else</span> {
<a name="l00269"></a>00269             <a class="code" href="klass_8cpp.html#a8bb9c404e2caf1b17f0924c7d6f484b8" title="Group together sequences of loops.">groupSeqLoops</a>(f);
<a name="l00270"></a>00270         }
<a name="l00271"></a>00271         <span class="keywordflow">return</span>;
<a name="l00272"></a>00272     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n &gt; 1) {
<a name="l00273"></a>00273         <span class="keywordflow">for</span> (lset::iterator p =l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.begin(); p!=l-&gt;<a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.end(); p++) {
<a name="l00274"></a>00274             <a class="code" href="klass_8cpp.html#a8bb9c404e2caf1b17f0924c7d6f484b8" title="Group together sequences of loops.">groupSeqLoops</a>(*p);
<a name="l00275"></a>00275         }
<a name="l00276"></a>00276     }
<a name="l00277"></a>00277 }
</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="a32ff5c21183dba70c007cd5a1ec2e851"></a><!-- doxytag: member="klass.cpp::isElement" ref="a32ff5c21183dba70c007cd5a1ec2e851" args="(const set&lt; Loop * &gt; &amp;S, Loop *l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isElement </td>
          <td>(</td>
          <td class="paramtype">const set&lt; <a class="el" href="structLoop.html">Loop</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structLoop.html">Loop</a> *&nbsp;</td>
          <td class="paramname"> <em>l</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="klass_8cpp_source.html#l00216">216</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00224">Klass::printLoopDeepFirst()</a>, and <a class="el" href="ppsig_8cpp_source.html#l00145">ppsig::printrec()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00217"></a>00217 {
<a name="l00218"></a>00218     <span class="keywordflow">return</span> S.find(l)!= S.end();
<a name="l00219"></a>00219 }
</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="aa2e5563424ef237dea3c2b278a270dde"></a><!-- doxytag: member="klass.cpp::merge" ref="aa2e5563424ef237dea3c2b278a270dde" args="(set&lt; string &gt; &amp;dst, set&lt; string &gt; &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void merge </td>
          <td>(</td>
          <td class="paramtype">set&lt; string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l01105">1105</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l01111">Klass::collectIncludeFile()</a>, and <a class="el" href="klass_8cpp_source.html#l01119">Klass::collectLibrary()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l01106"></a>01106 {
<a name="l01107"></a>01107     set&lt;string&gt;::iterator i;
<a name="l01108"></a>01108     <span class="keywordflow">for</span> (i = src.begin(); i != src.end(); i++)  dst.insert(*i);
<a name="l01109"></a>01109 }
</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="a35ee3fbf2966df0dcc60bde5e8febf73"></a><!-- doxytag: member="klass.cpp::nonRecursiveLevel" ref="a35ee3fbf2966df0dcc60bde5e8febf73" args="(const lset &amp;L)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool nonRecursiveLevel </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="graphSorting_8hh.html#a6d96a753c148d3f890df620d369a07b4">lset</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>L</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns true if all the loops are non recursive </p>

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00498">498</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00546">Klass::printLastLoopLevelScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00510">Klass::printLoopLevelOpenMP()</a>, and <a class="el" href="klass_8cpp_source.html#l00639">Klass::printLoopLevelScheduler()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00499"></a>00499 {
<a name="l00500"></a>00500     <span class="keywordflow">for</span> (lset::const_iterator p =L.begin(); p!=L.end(); p++) {
<a name="l00501"></a>00501         <span class="keywordflow">if</span> ((*p)-&gt;fIsRecursive) <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00502"></a>00502     }
<a name="l00503"></a>00503     <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00504"></a>00504 }
</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="af2c9d4adde58ed5726c5136d74423e7d"></a><!-- doxytag: member="klass.cpp::printdecllist" ref="af2c9d4adde58ed5726c5136d74423e7d" args="(int n, const string &amp;decl, list&lt; string &gt; &amp;content, ostream &amp;fout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void printdecllist </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>decl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">list&lt; string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>fout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print a list of elements (e1, e2,. </p>
<p>..) </p>

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00142">142</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>References <a class="el" href="klass_8cpp_source.html#l00063">tab()</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00860">Klass::printComputeMethodOpenMP()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00143"></a>00143 {
<a name="l00144"></a>00144     <span class="keywordflow">if</span> (!content.empty()) {
<a name="l00145"></a>00145         list&lt;string&gt;::iterator s;
<a name="l00146"></a>00146         fout &lt;&lt; <span class="stringliteral">&quot;\\&quot;</span>;
<a name="l00147"></a>00147         <a class="code" href="klass_8cpp.html#a18a8d6ca698c9eaf2f270ffaaf19b13e">tab</a>(n, fout); fout &lt;&lt; decl;
<a name="l00148"></a>00148         <span class="keywordtype">string</span> sep = <span class="stringliteral">&quot;(&quot;</span>;
<a name="l00149"></a>00149         <span class="keywordflow">for</span> (s = content.begin(); s != content.end(); s++) {
<a name="l00150"></a>00150             fout &lt;&lt; sep &lt;&lt; *s;
<a name="l00151"></a>00151             sep = <span class="stringliteral">&quot;, &quot;</span>;
<a name="l00152"></a>00152         }
<a name="l00153"></a>00153         fout &lt;&lt; <span class="charliteral">&#39;)&#39;</span>;
<a name="l00154"></a>00154     }
<a name="l00155"></a>00155 }
</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="a78b5da76dadfb32c2be459ab78763e98"></a><!-- doxytag: member="klass.cpp::printlines" ref="a78b5da76dadfb32c2be459ab78763e98" args="(int n, list&lt; string &gt; &amp;lines, ostream &amp;fout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void printlines </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">list&lt; string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>lines</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>fout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print a list of lines. </p>

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00131">131</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>References <a class="el" href="klass_8cpp_source.html#l00063">tab()</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00860">Klass::printComputeMethodOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00744">Klass::printComputeMethodScalar()</a>, <a class="el" href="klass_8cpp_source.html#l00959">Klass::printComputeMethodScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00760">Klass::printComputeMethodVectorFaster()</a>, <a class="el" href="klass_8cpp_source.html#l00789">Klass::printComputeMethodVectorSimple()</a>, <a class="el" href="loop_8cpp_source.html#l00156">Loop::println()</a>, <a class="el" href="klass_8cpp_source.html#l01069">SigFloatGenKlass::println()</a>, <a class="el" href="klass_8cpp_source.html#l01031">SigIntGenKlass::println()</a>, <a class="el" href="klass_8cpp_source.html#l00655">Klass::println()</a>, and <a class="el" href="loop_8cpp_source.html#l00192">Loop::printoneln()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00132"></a>00132 {
<a name="l00133"></a>00133     list&lt;string&gt;::iterator s;
<a name="l00134"></a>00134     <span class="keywordflow">for</span> (s = lines.begin(); s != lines.end(); s++) {
<a name="l00135"></a>00135         <a class="code" href="klass_8cpp.html#a18a8d6ca698c9eaf2f270ffaaf19b13e">tab</a>(n, fout); fout &lt;&lt; *s;
<a name="l00136"></a>00136     }
<a name="l00137"></a>00137 }
</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="a18a8d6ca698c9eaf2f270ffaaf19b13e"></a><!-- doxytag: member="klass.cpp::tab" ref="a18a8d6ca698c9eaf2f270ffaaf19b13e" args="(int n, ostream &amp;fout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tab </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>fout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00063">63</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00860">Klass::printComputeMethodOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00744">Klass::printComputeMethodScalar()</a>, <a class="el" href="klass_8cpp_source.html#l00959">Klass::printComputeMethodScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00760">Klass::printComputeMethodVectorFaster()</a>, <a class="el" href="klass_8cpp_source.html#l00789">Klass::printComputeMethodVectorSimple()</a>, <a class="el" href="klass_8cpp_source.html#l00142">printdecllist()</a>, <a class="el" href="klass_8cpp_source.html#l00546">Klass::printLastLoopLevelScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00131">printlines()</a>, <a class="el" href="loop_8cpp_source.html#l00156">Loop::println()</a>, <a class="el" href="klass_8cpp_source.html#l01069">SigFloatGenKlass::println()</a>, <a class="el" href="klass_8cpp_source.html#l01031">SigIntGenKlass::println()</a>, <a class="el" href="klass_8cpp_source.html#l00655">Klass::println()</a>, <a class="el" href="klass_8cpp_source.html#l00224">Klass::printLoopDeepFirst()</a>, <a class="el" href="klass_8cpp_source.html#l00473">Klass::printLoopGraphInternal()</a>, <a class="el" href="klass_8cpp_source.html#l00431">Klass::printLoopGraphOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00451">Klass::printLoopGraphScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>, <a class="el" href="klass_8cpp_source.html#l00510">Klass::printLoopLevelOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00195">Klass::printMetadata()</a>, <a class="el" href="loop_8cpp_source.html#l00192">Loop::printoneln()</a>, and <a class="el" href="klass_8cpp_source.html#l00579">Klass::printOneLoopScheduler()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00064"></a>00064 {
<a name="l00065"></a>00065     fout &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;
<a name="l00066"></a>00066     <span class="keywordflow">while</span> (n--) fout &lt;&lt; <span class="charliteral">&#39;\t&#39;</span>;
<a name="l00067"></a>00067 }
</pre></div></p>

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

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="afef3420cdcee4f66a23bfaed2f9d9647"></a><!-- doxytag: member="klass.cpp::gDeepFirstSwitch" ref="afef3420cdcee4f66a23bfaed2f9d9647" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="main_8cpp.html#afef3420cdcee4f66a23bfaed2f9d9647">gDeepFirstSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00132">132</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</p>

</div>
</div>
<a class="anchor" id="a023d989e0ba581d81873a04bf696450c"></a><!-- doxytag: member="klass.cpp::gGroupTaskSwitch" ref="a023d989e0ba581d81873a04bf696450c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="main_8cpp.html#a023d989e0ba581d81873a04bf696450c">gGroupTaskSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00138">138</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>, <a class="el" href="klass_8cpp_source.html#l00431">Klass::printLoopGraphOpenMP()</a>, <a class="el" href="klass_8cpp_source.html#l00451">Klass::printLoopGraphScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf647729deae314d35817ccb36f088e4"></a><!-- doxytag: member="klass.cpp::gMetaDataSet" ref="aaf647729deae314d35817ccb36f088e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">map&lt;<a class="el" href="classCTree.html">Tree</a>, set&lt;<a class="el" href="classCTree.html">Tree</a>&gt; &gt; <a class="el" href="sourcereader_8cpp.html#aaf647729deae314d35817ccb36f088e4">gMetaDataSet</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00087">87</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a11096523c7bafc4f81b51a38c19e03e8"></a><!-- doxytag: member="klass.cpp::gOpenMPSwitch" ref="a11096523c7bafc4f81b51a38c19e03e8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="main_8cpp.html#a11096523c7bafc4f81b51a38c19e03e8">gOpenMPSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00136">136</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00727">Klass::printComputeMethod()</a>, <a class="el" href="klass_8cpp_source.html#l00177">Klass::printIncludeFile()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</p>

</div>
</div>
<a class="anchor" id="aed8da6f8f23ca426bf3ea6564e0bd6f2"></a><!-- doxytag: member="klass.cpp::gSchedulerSwitch" ref="aed8da6f8f23ca426bf3ea6564e0bd6f2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="delayline_8cpp.html#a9dcf8d0143248403c712fafbaa0ecc25">gSchedulerSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00137">137</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ad95b7faa5d80dc925f7c0da761d74d62"></a><!-- doxytag: member="klass.cpp::gTaskCount" ref="ad95b7faa5d80dc925f7c0da761d74d62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="klass_8cpp.html#ad95b7faa5d80dc925f7c0da761d74d62">gTaskCount</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="klass_8cpp_source.html#l00061">61</a> of file <a class="el" href="klass_8cpp_source.html">klass.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00285">Klass::buildTasksList()</a>, <a class="el" href="klass_8cpp_source.html#l00959">Klass::printComputeMethodScheduler()</a>, <a class="el" href="klass_8cpp_source.html#l00546">Klass::printLastLoopLevelScheduler()</a>, and <a class="el" href="klass_8cpp_source.html#l00579">Klass::printOneLoopScheduler()</a>.</p>

</div>
</div>
<a class="anchor" id="a1ba979dbee201fae63feca5bafc8f394"></a><!-- doxytag: member="klass.cpp::gUIMacroSwitch" ref="a1ba979dbee201fae63feca5bafc8f394" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="main_8cpp.html#a1ba979dbee201fae63feca5bafc8f394">gUIMacroSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00140">140</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00655">Klass::println()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</p>

</div>
</div>
<a class="anchor" id="a6913f43c820ecbf6076c31d40598b7ee"></a><!-- doxytag: member="klass.cpp::gVecSize" ref="a6913f43c820ecbf6076c31d40598b7ee" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="delayline_8cpp.html#a6913f43c820ecbf6076c31d40598b7ee">gVecSize</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00133">133</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="afc8541b52b32a942648daf968114789c"></a><!-- doxytag: member="klass.cpp::gVectorLoopVariant" ref="afc8541b52b32a942648daf968114789c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="main_8cpp.html#afc8541b52b32a942648daf968114789c">gVectorLoopVariant</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00134">134</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="klass_8cpp_source.html#l00727">Klass::printComputeMethod()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</p>

</div>
</div>
<a class="anchor" id="a44285cbe41b6d58a00854fead2999187"></a><!-- doxytag: member="klass.cpp::gVectorSwitch" ref="a44285cbe41b6d58a00854fead2999187" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="sigtyperules_8hh.html#a44285cbe41b6d58a00854fead2999187">gVectorSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00131">131</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

<p>Referenced by <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="klass_8cpp_source.html#l00727">Klass::printComputeMethod()</a>, <a class="el" href="klass_8cpp_source.html#l00473">Klass::printLoopGraphInternal()</a>, <a class="el" href="klass_8cpp_source.html#l00400">Klass::printLoopGraphVector()</a>, and <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>.</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>