<!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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>klass.cpp File Reference</h1><code>#include <stdio.h></code><br/> <code>#include <iostream></code><br/> <code>#include <sstream></code><br/> <code>#include <string></code><br/> <code>#include <list></code><br/> <code>#include <map></code><br/> <code>#include "<a class="el" href="floats_8hh_source.html">floats.hh</a>"</code><br/> <code>#include "<a class="el" href="smartpointer_8hh_source.html">smartpointer.hh</a>"</code><br/> <code>#include "<a class="el" href="klass_8hh_source.html">klass.hh</a>"</code><br/> <code>#include "<a class="el" href="uitree_8hh_source.html">uitree.hh</a>"</code><br/> <code>#include "<a class="el" href="Text_8hh_source.html">Text.hh</a>"</code><br/> <code>#include "<a class="el" href="signals_8hh_source.html">signals.hh</a>"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a7f3d687fcf318bcbdd8b0e08a7a2877e">WORK_STEALING_INDEX</a> 0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a3d42e19ff567ac1126726174ba4f0a27">LAST_TASK_INDEX</a> 1</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a05378f2ac18ca2ec43a5f60a2bab93bb">START_TASK_INDEX</a> LAST_TASK_INDEX + 1</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#ad6775f7464b8899a4eb6ce8be81a17c8">START_TASK_MAX</a> 2</td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a18a8d6ca698c9eaf2f270ffaaf19b13e">tab</a> (int n, ostream &fout)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a78b5da76dadfb32c2be459ab78763e98">printlines</a> (int n, list< string > &lines, ostream &fout)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#af2c9d4adde58ed5726c5136d74423e7d">printdecllist</a> (int n, const string &decl, list< string > &content, ostream &fout)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#a32ff5c21183dba70c007cd5a1ec2e851">isElement</a> (const set< <a class="el" href="structLoop.html">Loop</a> * > &S, <a class="el" href="structLoop.html">Loop</a> *l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </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"> </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 </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"> </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 </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> &L)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="klass_8cpp.html#aa2e5563424ef237dea3c2b278a270dde">merge</a> (set< string > &dst, set< string > &src)</td></tr> <tr><td colspan="2"><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </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 </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 </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 </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 </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 </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 </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 </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< <a class="el" href="classCTree.html">Tree</a>, set< <a class="el" href="classCTree.html">Tree</a> > > </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 </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 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 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 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 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> * </td> <td class="paramname"> <em>l</em></td> <td> ) </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-><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-><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-><a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.begin(); p!=l-><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> * </td> <td class="paramname"> <em>l</em></td> <td> ) </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-><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-><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-><a class="code" href="structLoop.html#a5237f580c9e6f25693da26d00fda7798" title="how many loops depend on this one">fUseCount</a> == 1) { <a name="l00266"></a>00266 l-><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 > 1) { <a name="l00273"></a>00273 <span class="keywordflow">for</span> (lset::iterator p =l-><a class="code" href="structLoop.html#a73f599daabab6c3669355713ca914e83" title="Loops that must be computed before this one.">fBackwardLoopDependencies</a>.begin(); p!=l-><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< Loop * > &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< <a class="el" href="structLoop.html">Loop</a> * > & </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> * </td> <td class="paramname"> <em>l</em></td><td> </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< string > &dst, set< string > &src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void merge </td> <td>(</td> <td class="paramtype">set< string > & </td> <td class="paramname"> <em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">set< string > & </td> <td class="paramname"> <em>src</em></td><td> </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<string>::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 &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> & </td> <td class="paramname"> <em>L</em></td> <td> ) </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)->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 &decl, list< string > &content, ostream &fout)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void printdecllist </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const string & </td> <td class="paramname"> <em>decl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">list< string > & </td> <td class="paramname"> <em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>fout</em></td><td> </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<string>::iterator s; <a name="l00146"></a>00146 fout << <span class="stringliteral">"\\"</span>; <a name="l00147"></a>00147 <a class="code" href="klass_8cpp.html#a18a8d6ca698c9eaf2f270ffaaf19b13e">tab</a>(n, fout); fout << decl; <a name="l00148"></a>00148 <span class="keywordtype">string</span> sep = <span class="stringliteral">"("</span>; <a name="l00149"></a>00149 <span class="keywordflow">for</span> (s = content.begin(); s != content.end(); s++) { <a name="l00150"></a>00150 fout << sep << *s; <a name="l00151"></a>00151 sep = <span class="stringliteral">", "</span>; <a name="l00152"></a>00152 } <a name="l00153"></a>00153 fout << <span class="charliteral">')'</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< string > &lines, ostream &fout)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void printlines </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">list< string > & </td> <td class="paramname"> <em>lines</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>fout</em></td><td> </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<string>::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 << *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 &fout)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void tab </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>fout</em></td><td> </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 << <span class="charliteral">'\n'</span>; <a name="l00066"></a>00066 <span class="keywordflow">while</span> (n--) fout << <span class="charliteral">'\t'</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<<a class="el" href="classCTree.html">Tree</a>, set<<a class="el" href="classCTree.html">Tree</a>> > <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 <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>