<!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: compile_scal.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>compile_scal.cpp File Reference</h1><code>#include "<a class="el" href="compile__scal_8cpp_source.html">compile_scal.hh</a>"</code><br/> <code>#include "<a class="el" href="compile_8hh_source.html">compile.hh</a>"</code><br/> <code>#include "<a class="el" href="sigtyperules_8hh_source.html">sigtyperules.hh</a>"</code><br/> <code>#include "<a class="el" href="tlib_8hh_source.html">tlib.hh</a>"</code><br/> <code>#include "<a class="el" href="property_8hh_source.html">property.hh</a>"</code><br/> <code>#include "<a class="el" href="timing_8hh_source.html">timing.hh</a>"</code><br/> <code>#include "<a class="el" href="sigtype_8hh_source.html">sigtype.hh</a>"</code><br/> <code>#include <stdio.h></code><br/> <code>#include <iostream></code><br/> <code>#include <sstream></code><br/> <code>#include <vector></code><br/> <code>#include <math.h></code><br/> <code>#include "<a class="el" href="floats_8hh_source.html">floats.hh</a>"</code><br/> <code>#include "<a class="el" href="sigprint_8hh_source.html">sigprint.hh</a>"</code><br/> <code>#include "<a class="el" href="recursivness_8hh_source.html">recursivness.hh</a>"</code><br/> <code>#include "<a class="el" href="simplify_8hh_source.html">simplify.hh</a>"</code><br/> <code>#include "<a class="el" href="privatise_8hh_source.html">privatise.hh</a>"</code><br/> <code>#include "<a class="el" href="prim2_8hh_source.html">prim2.hh</a>"</code><br/> <code>#include "<a class="el" href="xtended_8hh_source.html">xtended.hh</a>"</code><br/> <code>#include "<a class="el" href="compatibility_8hh_source.html">compatibility.hh</a>"</code><br/> <code>#include "<a class="el" href="ppsig_8hh_source.html">ppsig.hh</a>"</code><br/> <div class="dynheader"> Include dependency graph for compile_scal.cpp:</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="compile__scal_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>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKlass.html">Klass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="compile__scal_8cpp.html#aad565b4516266c0d4e01ee7f2233fad3">signal2klass</a> (const string &name, <a class="el" href="classCTree.html">Tree</a> sig)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="compile__scal_8cpp.html#a322b15c6cf72d06559fee6dfb4c0dfae">isPowerOf2</a> (int n)</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="compile__scal_8cpp.html#a5f97ede46bd9fd364fc69fd7bc04e5ae">gLessTempSwitch</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="compile__scal_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="compile__scal_8cpp.html#a278e0cda879c0108aff047853ab0214c">gMaxCopyDelay</a></td></tr> </table> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a322b15c6cf72d06559fee6dfb4c0dfae"></a><!-- doxytag: member="compile_scal.cpp::isPowerOf2" ref="a322b15c6cf72d06559fee6dfb4c0dfae" args="(int n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool isPowerOf2 </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="compile__scal_8cpp_source.html#l00842">842</a> of file <a class="el" href="compile__scal_8cpp_source.html">compile_scal.cpp</a>.</p> <p>Referenced by <a class="el" href="compile__scal_8cpp_source.html#l00847">ScalarCompiler::generateIota()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00843"></a>00843 { <a name="l00844"></a>00844 <span class="keywordflow">return</span> !(n & (n - 1)); <a name="l00845"></a>00845 } </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="aad565b4516266c0d4e01ee7f2233fad3"></a><!-- doxytag: member="compile_scal.cpp::signal2klass" ref="aad565b4516266c0d4e01ee7f2233fad3" args="(const string &name, Tree sig)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classKlass.html">Klass</a>* signal2klass </td> <td>(</td> <td class="paramtype">const string & </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>sig</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="compile__scal_8cpp_source.html#l00056">56</a> of file <a class="el" href="compile__scal_8cpp_source.html">compile_scal.cpp</a>.</p> <p>References <a class="el" href="compile__scal_8cpp_source.html#l00157">ScalarCompiler::compileSingleSignal()</a>, <a class="el" href="compile_8hh_source.html#l00067">Compiler::getClass()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00082">getSigType()</a>, and <a class="el" href="sigtype_8hh_source.html#l00053">kInt</a>.</p> <p>Referenced by <a class="el" href="compile__scal_8cpp_source.html#l00611">ScalarCompiler::generateSigGen()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00622">ScalarCompiler::generateStaticSigGen()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00057"></a>00057 { <a name="l00058"></a>00058 <a class="code" href="classP.html">Type</a> t = <a class="code" href="sigtyperules_8cpp.html#a1f41188e4150f54b2fb2caf28a948785" title="retrieve the type annotation of sig">getSigType</a>(sig); <span class="comment">//, NULLENV);</span> <a name="l00059"></a>00059 <span class="keywordflow">if</span> (t->nature() == <a class="code" href="sigtype_8hh.html#adc29c2ff13d900c2f185ee95427fb06ca9bb31be73c01d40428195449f62588ac">kInt</a>) { <a name="l00060"></a>00060 <a name="l00061"></a>00061 <a class="code" href="classScalarCompiler.html" title="Compile a list of FAUST signals into a scalar C++ class.">ScalarCompiler</a> C( <span class="keyword">new</span> <a class="code" href="classSigIntGenKlass.html">SigIntGenKlass</a>(<a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>) ); <a name="l00062"></a>00062 C.compileSingleSignal(sig); <a name="l00063"></a>00063 <span class="keywordflow">return</span> C.getClass(); <a name="l00064"></a>00064 <a name="l00065"></a>00065 } <span class="keywordflow">else</span> { <a name="l00066"></a>00066 <a name="l00067"></a>00067 <a class="code" href="classScalarCompiler.html" title="Compile a list of FAUST signals into a scalar C++ class.">ScalarCompiler</a> C( <span class="keyword">new</span> <a class="code" href="classSigFloatGenKlass.html">SigFloatGenKlass</a>(<a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>) ); <a name="l00068"></a>00068 C.compileSingleSignal(sig); <a name="l00069"></a>00069 <span class="keywordflow">return</span> C.getClass(); <a name="l00070"></a>00070 <a name="l00071"></a>00071 } <a name="l00072"></a>00072 } </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> <hr/><h2>Variable Documentation</h2> <a class="anchor" id="a5f97ede46bd9fd364fc69fd7bc04e5ae"></a><!-- doxytag: member="compile_scal.cpp::gLessTempSwitch" ref="a5f97ede46bd9fd364fc69fd7bc04e5ae" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="main_8cpp.html#a5f97ede46bd9fd364fc69fd7bc04e5ae">gLessTempSwitch</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="main_8cpp_source.html#l00123">123</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p> </div> </div> <a class="anchor" id="a278e0cda879c0108aff047853ab0214c"></a><!-- doxytag: member="compile_scal.cpp::gMaxCopyDelay" ref="a278e0cda879c0108aff047853ab0214c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="delayline_8cpp.html#a278e0cda879c0108aff047853ab0214c">gMaxCopyDelay</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="main_8cpp_source.html#l00124">124</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p> </div> </div> <a class="anchor" id="aed8da6f8f23ca426bf3ea6564e0bd6f2"></a><!-- doxytag: member="compile_scal.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> <p>Referenced by <a class="el" href="compile__vect_8cpp_source.html#l00032">VectorCompiler::compileMultiSignal()</a>, <a class="el" href="delayline_8cpp_source.html#l00051">dlineLoop()</a>, <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#l00655">Klass::println()</a>, <a class="el" href="main_8cpp_source.html#l00160">process_cmdline()</a>, and <a class="el" href="delayline_8cpp_source.html#l00025">vectorLoop()</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:03 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>