<!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: sigtype.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>sigtype.cpp File Reference</h1><code>#include "<a class="el" href="sigtype_8hh_source.html">sigtype.hh</a>"</code><br/> <div class="dynheader"> Include dependency graph for sigtype.cpp:</div> <div class="dynsection"> </div> <p><a href="sigtype_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">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a06526bb9c97ac074a32f7a1a15681c5e">operator<<</a> (ostream &dst, const <a class="el" href="classP.html">Type</a> &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#aca4d950f832ec73442da4961fc4dd910">operator<<</a> (ostream &dst, const <a class="el" href="classSimpleType.html">SimpleType</a> &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a304b5bdf4e03c88f299d5ba8c5c6101a">operator<<</a> (ostream &dst, const <a class="el" href="classTableType.html">TableType</a> &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a049d36528c8a5bc3d938bbdb07ff0bfc">operator<<</a> (ostream &dst, const <a class="el" href="classTupletType.html">TupletType</a> &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a4dca25836fa52b4e836eb6f08555d176">operator|</a> (const <a class="el" href="classP.html">Type</a> &t1, const <a class="el" href="classP.html">Type</a> &t2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#af7f2d7227355b2ebc9364d1bbccf3a9f">operator==</a> (const <a class="el" href="classP.html">Type</a> &t1, const <a class="el" href="classP.html">Type</a> &t2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#af85ef77afc9efecbeef8264c31e3ac68">operator<=</a> (const <a class="el" href="classP.html">Type</a> &t1, const <a class="el" href="classP.html">Type</a> &t2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ae27b8f369c45c9089ec6ddff11eec493">operator*</a> (const <a class="el" href="classP.html">Type</a> &t1, const <a class="el" href="classP.html">Type</a> &t2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSimpleType.html">SimpleType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a> (<a class="el" href="classAudioType.html">AudioType</a> *t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTableType.html">TableType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ac8b4c7377bb99f19596db76c5a674d03">isTableType</a> (<a class="el" href="classAudioType.html">AudioType</a> *t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTupletType.html">TupletType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a78f2abfce752620d0b4993359f7dcb38">isTupletType</a> (<a class="el" href="classAudioType.html">AudioType</a> *t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#aebe495204f7e4e178cfb023eb03c3e24">checkInt</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">verifie que t est entier <a href="#aebe495204f7e4e178cfb023eb03c3e24"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a267208a768c70317830a4f96dfdf9c9b">checkKonst</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">verifie que t est constant <a href="#a267208a768c70317830a4f96dfdf9c9b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a69c0edc5ba42dd64e897a77765021258">checkInit</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">verifie que t est connu a l'initialisation <a href="#a69c0edc5ba42dd64e897a77765021258"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#acc5d2eda577ba47709fcd2bcaa748092">checkIntParam</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">verifie que t est connu a l'initialisation, constant et entier <a href="#acc5d2eda577ba47709fcd2bcaa748092"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a69bb71019ffd4718e62311ad09852e29">checkWRTbl</a> (<a class="el" href="classP.html">Type</a> tbl, <a class="el" href="classP.html">Type</a> wr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">verifie que wr est compatible avec le contenu de tbl <a href="#a69bb71019ffd4718e62311ad09852e29"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a93b58aa70785fe4a2c0f520fdbc246c9">checkDelayInterval</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check is a type is appropriate for a delay. <a href="#a93b58aa70785fe4a2c0f520fdbc246c9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a1add1ece6baaeac60b4e46978f5955f4">cType</a> (<a class="el" href="classP.html">Type</a> t)</td></tr> <tr><td colspan="2"><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ab71a699e843f01d4871f97a41c143829">TINT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#aa218516eab5a26ec3cfefedac0e56a8e">TREAL</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a85e7c689125b8a9d14fdb2bc8c2af217">TKONST</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a2e683cdf4ef39a0a66047295c7e4759d">TBLOCK</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kBlock, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#afcf91448d32ad8d2f21fc064af6417bf">TSAMP</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kSamp, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#af87527edd3fd201d70550428770bf391">TCOMP</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#aac63824d41e799223deb64e8b860cb9b">TINIT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kInit, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#aafcb036dc5fa7bce7dff6387201b39a5">TEXEC</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ad2a2a2ed670dc4c62ea294183343aa66">TINPUT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kSamp, kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a23c558594cc9063e0289e21dd4687fac">TGUI</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kBlock,kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#a18854f209744bdb46c38444e481f78ab">INT_TGUI</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kBlock,kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sigtype_8cpp.html#ade278a93e3fbeed9cb7216e9623ecd08">TREC</a> = <a class="el" href="sigtype_8hh.html#ab71a699e843f01d4871f97a41c143829">TINT</a></td></tr> </table> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a93b58aa70785fe4a2c0f520fdbc246c9"></a><!-- doxytag: member="sigtype.cpp::checkDelayInterval" ref="a93b58aa70785fe4a2c0f520fdbc246c9" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int checkDelayInterval </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Check is a type is appropriate for a delay. </p> <p>Check if the interval of t is appropriate for a delay.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>-1 if not appropriate, mxd (max delay) if appropriate </dd></dl> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00279">279</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</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>Referenced by <a class="el" href="occurences_8cpp_source.html#l00095">OccMarkup::incOcc()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00280"></a>00280 { <a name="l00281"></a>00281 <a class="code" href="structinterval.html">interval</a> i = t->getInterval(); <a name="l00282"></a>00282 <span class="keywordflow">if</span> (i.<a class="code" href="structinterval.html#a96c78d5d63b319bc354c0ba728305e68" title="true if it is a valid interval">valid</a> && i.<a class="code" href="structinterval.html#a097d8cc2067534f1fe88d6a8386af0cd" title="minimal value">lo</a> >= 0) { <a name="l00283"></a>00283 <span class="keywordflow">return</span> int(i.<a class="code" href="structinterval.html#ae97c1d6052f6b8326a346b4c2a2d4b30" title="maximal value">hi</a>+0.5); <a name="l00284"></a>00284 } <span class="keywordflow">else</span> { <a name="l00285"></a>00285 <span class="comment">//cerr << "checkDelayInterval failed for : " << i << endl;</span> <a name="l00286"></a>00286 <span class="keywordflow">return</span> -1; <a name="l00287"></a>00287 } <a name="l00288"></a>00288 } </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="a69c0edc5ba42dd64e897a77765021258"></a><!-- doxytag: member="sigtype.cpp::checkInit" ref="a69c0edc5ba42dd64e897a77765021258" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> checkInit </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>verifie que t est connu a l'initialisation </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00249">249</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00056">kInit</a>.</p> <p>Referenced by <a class="el" href="sigtype_8cpp_source.html#l00259">checkIntParam()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00526">infereDocConstantTblType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00533">infereDocWriteTblType()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00250"></a>00250 { <a name="l00251"></a>00251 <span class="comment">// verifie que t est connu a l'initialisation</span> <a name="l00252"></a>00252 <span class="keywordflow">if</span> (t->computability() > <a class="code" href="sigtype_8hh.html#a0411cd49bb5b71852cecd93bcbf0ca2da129c5fd2c640e351170c8ede47250479">kInit</a>) { <a name="l00253"></a>00253 cerr << <span class="stringliteral">"Error : checkInit failed for type "</span> << t << endl; <a name="l00254"></a>00254 exit(1); <a name="l00255"></a>00255 } <a name="l00256"></a>00256 <span class="keywordflow">return</span> t; <a name="l00257"></a>00257 } </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="aebe495204f7e4e178cfb023eb03c3e24"></a><!-- doxytag: member="sigtype.cpp::checkInt" ref="aebe495204f7e4e178cfb023eb03c3e24" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> checkInt </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>verifie que t est entier </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00228">228</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8cpp_source.html#l00219">isSimpleType()</a>, <a class="el" href="sigtype_8hh_source.html#l00053">kInt</a>, and <a class="el" href="sigtype_8hh_source.html#l00100">AudioType::nature()</a>.</p> <p>Referenced by <a class="el" href="sigtype_8cpp_source.html#l00259">checkIntParam()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00526">infereDocConstantTblType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00533">infereDocWriteTblType()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00229"></a>00229 { <a name="l00230"></a>00230 <span class="comment">// verifie que t est entier</span> <a name="l00231"></a>00231 <a class="code" href="classSimpleType.html" title="The type of a simple numeric audio signal.">SimpleType</a>* st = <a class="code" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a>(t); <a name="l00232"></a>00232 <span class="keywordflow">if</span> (st == 0 || st-><a class="code" href="classAudioType.html#ac4b23dd240ebd38c365d7b75cd075a4d" title="returns the kind of values (integre or floating point)">nature</a>() > <a class="code" href="sigtype_8hh.html#adc29c2ff13d900c2f185ee95427fb06ca9bb31be73c01d40428195449f62588ac">kInt</a>) { <a name="l00233"></a>00233 cerr << <span class="stringliteral">"Error : checkInt failed for type "</span> << t << endl; <a name="l00234"></a>00234 exit(1); <a name="l00235"></a>00235 } <a name="l00236"></a>00236 <span class="keywordflow">return</span> t; <a name="l00237"></a>00237 } </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="acc5d2eda577ba47709fcd2bcaa748092"></a><!-- doxytag: member="sigtype.cpp::checkIntParam" ref="acc5d2eda577ba47709fcd2bcaa748092" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> checkIntParam </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>verifie que t est connu a l'initialisation, constant et entier </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00259">259</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8cpp_source.html#l00249">checkInit()</a>, <a class="el" href="sigtype_8cpp_source.html#l00228">checkInt()</a>, and <a class="el" href="sigtype_8cpp_source.html#l00239">checkKonst()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00260"></a>00260 { <a name="l00261"></a>00261 <span class="keywordflow">return</span> <a class="code" href="sigtype_8cpp.html#a69c0edc5ba42dd64e897a77765021258" title="verifie que t est connu a l&#39;initialisation">checkInit</a>(<a class="code" href="sigtype_8cpp.html#a267208a768c70317830a4f96dfdf9c9b" title="verifie que t est constant">checkKonst</a>(<a class="code" href="sigtype_8cpp.html#aebe495204f7e4e178cfb023eb03c3e24" title="verifie que t est entier">checkInt</a>(t))); <a name="l00262"></a>00262 } </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="a267208a768c70317830a4f96dfdf9c9b"></a><!-- doxytag: member="sigtype.cpp::checkKonst" ref="a267208a768c70317830a4f96dfdf9c9b" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> checkKonst </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>verifie que t est constant </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00239">239</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00055">kKonst</a>.</p> <p>Referenced by <a class="el" href="sigtype_8cpp_source.html#l00259">checkIntParam()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00526">infereDocConstantTblType()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00533">infereDocWriteTblType()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00240"></a>00240 { <a name="l00241"></a>00241 <span class="comment">// verifie que t est constant</span> <a name="l00242"></a>00242 <span class="keywordflow">if</span> (t->variability() > <a class="code" href="sigtype_8hh.html#a726ca809ffd3d67ab4b8476646f26635a21138ad5418c2d97ac10a35fd48c0503">kKonst</a>) { <a name="l00243"></a>00243 cerr << <span class="stringliteral">"Error : checkKonst failed for type "</span> << t << endl; <a name="l00244"></a>00244 exit(1); <a name="l00245"></a>00245 } <a name="l00246"></a>00246 <span class="keywordflow">return</span> t; <a name="l00247"></a>00247 } </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="a69bb71019ffd4718e62311ad09852e29"></a><!-- doxytag: member="sigtype.cpp::checkWRTbl" ref="a69bb71019ffd4718e62311ad09852e29" args="(Type tbl, Type wr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> checkWRTbl </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>tbl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>wr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>verifie que wr est compatible avec le contenu de tbl </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00264">264</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00265"></a>00265 { <a name="l00266"></a>00266 <span class="comment">// verifie que wr est compatible avec le contenu de tbl</span> <a name="l00267"></a>00267 <span class="keywordflow">if</span> (wr->nature() > tbl->nature()) { <a name="l00268"></a>00268 cerr << <span class="stringliteral">"Error : checkWRTbl failed, the content of "</span> << tbl << <span class="stringliteral">" is incompatible with "</span> << wr << endl; <a name="l00269"></a>00269 exit(1); <a name="l00270"></a>00270 } <a name="l00271"></a>00271 <span class="keywordflow">return</span> tbl; <a name="l00272"></a>00272 } </pre></div></p> </div> </div> <a class="anchor" id="a1add1ece6baaeac60b4e46978f5955f4"></a><!-- doxytag: member="sigtype.cpp::cType" ref="a1add1ece6baaeac60b4e46978f5955f4" args="(Type t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string cType </td> <td>(</td> <td class="paramtype"><a class="el" href="classP.html">Type</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00292">292</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00053">kInt</a>.</p> <p>Referenced by <a class="el" href="compile__scal_8cpp_source.html#l00821">ScalarCompiler::generatePrefix()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00874">ScalarCompiler::generateSelect2()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00933">ScalarCompiler::generateSelect3()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00293"></a>00293 { <a name="l00294"></a>00294 <span class="keywordflow">return</span> (t->nature() == <a class="code" href="sigtype_8hh.html#adc29c2ff13d900c2f185ee95427fb06ca9bb31be73c01d40428195449f62588ac">kInt</a>) ? <span class="stringliteral">"int"</span> : <span class="stringliteral">"float"</span>; <a name="l00295"></a>00295 } </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="ab37344c874f1fa0e61ca34cab640e7f5"></a><!-- doxytag: member="sigtype.cpp::isSimpleType" ref="ab37344c874f1fa0e61ca34cab640e7f5" args="(AudioType *t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classSimpleType.html">SimpleType</a>* isSimpleType </td> <td>(</td> <td class="paramtype"><a class="el" href="classAudioType.html">AudioType</a> * </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00219">219</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>Referenced by <a class="el" href="sigtype_8cpp_source.html#l00228">checkInt()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00483">infereReadTableType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00446">infereWriteTableType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00162">operator==()</a>, and <a class="el" href="sigtype_8cpp_source.html#l00127">operator|()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00219"></a>00219 { <span class="keywordflow">return</span> <span class="keyword">dynamic_cast<</span><a class="code" href="classSimpleType.html" title="The type of a simple numeric audio signal.">SimpleType</a>*<span class="keyword">></span>(t); } </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="ac8b4c7377bb99f19596db76c5a674d03"></a><!-- doxytag: member="sigtype.cpp::isTableType" ref="ac8b4c7377bb99f19596db76c5a674d03" args="(AudioType *t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTableType.html">TableType</a>* isTableType </td> <td>(</td> <td class="paramtype"><a class="el" href="classAudioType.html">AudioType</a> * </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00220">220</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00483">infereReadTableType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00446">infereWriteTableType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00162">operator==()</a>, and <a class="el" href="sigtype_8cpp_source.html#l00127">operator|()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00220"></a>00220 { <span class="keywordflow">return</span> <span class="keyword">dynamic_cast<</span><a class="code" href="classTableType.html" title="The type of a table of audio data.">TableType</a>*<span class="keyword">></span>(t); } </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="a78f2abfce752620d0b4993359f7dcb38"></a><!-- doxytag: member="sigtype.cpp::isTupletType" ref="a78f2abfce752620d0b4993359f7dcb38" args="(AudioType *t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTupletType.html">TupletType</a>* isTupletType </td> <td>(</td> <td class="paramtype"><a class="el" href="classAudioType.html">AudioType</a> * </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00221">221</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00423">infereProjType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00162">operator==()</a>, and <a class="el" href="sigtype_8cpp_source.html#l00127">operator|()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00221"></a>00221 { <span class="keywordflow">return</span> <span class="keyword">dynamic_cast<</span><a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>*<span class="keyword">></span>(t); } </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="ae27b8f369c45c9089ec6ddff11eec493"></a><!-- doxytag: member="sigtype.cpp::operator*" ref="ae27b8f369c45c9089ec6ddff11eec493" args="(const Type &t1, const Type &t2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t2</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="sigtype_8cpp_source.html#l00193">193</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00339">TupletType::arity()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00194"></a>00194 { <a name="l00195"></a>00195 vector<Type> v; <a name="l00196"></a>00196 <a name="l00197"></a>00197 <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>* nt1 = <span class="keyword">dynamic_cast<</span><a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>*<span class="keyword">></span>((<a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>*)t1); <a name="l00198"></a>00198 <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>* nt2 = <span class="keyword">dynamic_cast<</span><a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>*<span class="keyword">></span>((<a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>*)t2); <a name="l00199"></a>00199 <a name="l00200"></a>00200 <span class="keywordflow">if</span> (nt1) { <a name="l00201"></a>00201 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i<nt1-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>(); i++) { <a name="l00202"></a>00202 v.push_back((*nt1)[i]); <a name="l00203"></a>00203 } <a name="l00204"></a>00204 } <span class="keywordflow">else</span> { <a name="l00205"></a>00205 v.push_back(t1); <a name="l00206"></a>00206 } <a name="l00207"></a>00207 <a name="l00208"></a>00208 <span class="keywordflow">if</span> (nt2) { <a name="l00209"></a>00209 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i<nt2-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>(); i++) { <a name="l00210"></a>00210 v.push_back((*nt2)[i]); <a name="l00211"></a>00211 } <a name="l00212"></a>00212 } <span class="keywordflow">else</span> { <a name="l00213"></a>00213 v.push_back(t2); <a name="l00214"></a>00214 } <a name="l00215"></a>00215 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>(v); <a name="l00216"></a>00216 } </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="a049d36528c8a5bc3d938bbdb07ff0bfc"></a><!-- doxytag: member="sigtype.cpp::operator<<" ref="a049d36528c8a5bc3d938bbdb07ff0bfc" args="(ostream &dst, const TupletType &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTupletType.html">TupletType</a> & </td> <td class="paramname"> <em>t</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="sigtype_8cpp_source.html#l00040">40</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8cpp_source.html#l00082">TupletType::print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00040"></a>00040 { <span class="keywordflow">return</span> t.<a class="code" href="classTupletType.html#a4002e9a3bdf354b70317e2473f2a4164" title="Print the content of a tuplet of types on a stream.">print</a>(dst); } </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="a304b5bdf4e03c88f299d5ba8c5c6101a"></a><!-- doxytag: member="sigtype.cpp::operator<<" ref="a304b5bdf4e03c88f299d5ba8c5c6101a" args="(ostream &dst, const TableType &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTableType.html">TableType</a> & </td> <td class="paramname"> <em>t</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="sigtype_8cpp_source.html#l00038">38</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8cpp_source.html#l00067">TableType::print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00038"></a>00038 { <span class="keywordflow">return</span> t.<a class="code" href="classTableType.html#ae5d353d4bf2a6bdf8a46fdc9976d4d17" title="print a TableType">print</a>(dst); } </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="aca4d950f832ec73442da4961fc4dd910"></a><!-- doxytag: member="sigtype.cpp::operator<<" ref="aca4d950f832ec73442da4961fc4dd910" args="(ostream &dst, const SimpleType &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classSimpleType.html">SimpleType</a> & </td> <td class="paramname"> <em>t</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="sigtype_8cpp_source.html#l00036">36</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8cpp_source.html#l00053">SimpleType::print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00036"></a>00036 { <span class="keywordflow">return</span> t.<a class="code" href="classSimpleType.html#a42cbbde2ae710800765675e3f260d2d7" title="print a SimpleType">print</a>(dst); } </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="a06526bb9c97ac074a32f7a1a15681c5e"></a><!-- doxytag: member="sigtype.cpp::operator<<" ref="a06526bb9c97ac074a32f7a1a15681c5e" args="(ostream &dst, const Type &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t</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="sigtype_8cpp_source.html#l00034">34</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00034"></a>00034 { <span class="keywordflow">return</span> t->print(dst);} </pre></div></p> </div> </div> <a class="anchor" id="af85ef77afc9efecbeef8264c31e3ac68"></a><!-- doxytag: member="sigtype.cpp::operator<=" ref="af85ef77afc9efecbeef8264c31e3ac68" args="(const Type &t1, const Type &t2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator<= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t2</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="sigtype_8cpp_source.html#l00186">186</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00187"></a>00187 { <a name="l00188"></a>00188 <span class="keywordflow">return</span> (t1|t2) == t2; <a name="l00189"></a>00189 } </pre></div></p> </div> </div> <a class="anchor" id="af7f2d7227355b2ebc9364d1bbccf3a9f"></a><!-- doxytag: member="sigtype.cpp::operator==" ref="af7f2d7227355b2ebc9364d1bbccf3a9f" args="(const Type &t1, const Type &t2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t2</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="sigtype_8cpp_source.html#l00162">162</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00339">TupletType::arity()</a>, <a class="el" href="sigtype_8hh_source.html#l00104">AudioType::boolean()</a>, <a class="el" href="sigtype_8hh_source.html#l00298">TableType::content()</a>, <a class="el" href="sigtype_8cpp_source.html#l00219">isSimpleType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00220">isTableType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00221">isTupletType()</a>, <a class="el" href="sigtype_8hh_source.html#l00100">AudioType::nature()</a>, and <a class="el" href="sigtype_8hh_source.html#l00103">AudioType::vectorability()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00163"></a>00163 { <a name="l00164"></a>00164 <a class="code" href="classSimpleType.html" title="The type of a simple numeric audio signal.">SimpleType</a> *st1, *st2; <a name="l00165"></a>00165 <a class="code" href="classTableType.html" title="The type of a table of audio data.">TableType</a> *tt1, *tt2; <a name="l00166"></a>00166 <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a> *nt1, *nt2; <a name="l00167"></a>00167 <a name="l00168"></a>00168 <span class="keywordflow">if</span> (t1->variability() != t2->variability()) <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00169"></a>00169 <span class="keywordflow">if</span> (t1->computability() != t2->computability()) <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00170"></a>00170 <a name="l00171"></a>00171 <span class="keywordflow">if</span> ( (st1 = <a class="code" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a>(t1)) && (st2 = <a class="code" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a>(t2)) ) <span class="keywordflow">return</span> (st1-><a class="code" href="classAudioType.html#ac4b23dd240ebd38c365d7b75cd075a4d" title="returns the kind of values (integre or floating point)">nature</a>() == st2-><a class="code" href="classAudioType.html#ac4b23dd240ebd38c365d7b75cd075a4d" title="returns the kind of values (integre or floating point)">nature</a>())&&(st1-><a class="code" href="classAudioType.html#affb91ae3491bdcfb94f0a00995e6f0e3" title="returns when a signal can be vectorized">vectorability</a>() == st2-><a class="code" href="classAudioType.html#affb91ae3491bdcfb94f0a00995e6f0e3" title="returns when a signal can be vectorized">vectorability</a>())&&(st1-><a class="code" href="classAudioType.html#a1cc9edd50c57622aa80e5c48bf67e66e" title="returns when a signal stands for a boolean value">boolean</a>() == st2-><a class="code" href="classAudioType.html#a1cc9edd50c57622aa80e5c48bf67e66e" title="returns when a signal stands for a boolean value">boolean</a>()); <a name="l00172"></a>00172 <span class="keywordflow">if</span> ( (tt1 = <a class="code" href="sigtype_8cpp.html#ac8b4c7377bb99f19596db76c5a674d03">isTableType</a>(t1)) && (tt2 = <a class="code" href="sigtype_8cpp.html#ac8b4c7377bb99f19596db76c5a674d03">isTableType</a>(t2)) ) <span class="keywordflow">return</span> tt1-><a class="code" href="classTableType.html#af3800dbe6a31d62ea4fd2ee7fb928ade" title="return the type of data store in the table">content</a>()== tt2-><a class="code" href="classTableType.html#af3800dbe6a31d62ea4fd2ee7fb928ade" title="return the type of data store in the table">content</a>(); <a name="l00173"></a>00173 <span class="keywordflow">if</span> ( (nt1 = <a class="code" href="sigtype_8cpp.html#a78f2abfce752620d0b4993359f7dcb38">isTupletType</a>(t1)) && (nt2 = <a class="code" href="sigtype_8cpp.html#a78f2abfce752620d0b4993359f7dcb38">isTupletType</a>(t2)) ) { <a name="l00174"></a>00174 <span class="keywordtype">int</span> a1 = nt1-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>(); <a name="l00175"></a>00175 <span class="keywordtype">int</span> a2 = nt2-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>(); <a name="l00176"></a>00176 <span class="keywordflow">if</span> (a1 == a2) { <a name="l00177"></a>00177 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i<a1; i++) { <span class="keywordflow">if</span> ((*nt1)[i] != (*nt2)[i]) <span class="keywordflow">return</span> <span class="keyword">false</span>; } <a name="l00178"></a>00178 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00179"></a>00179 } <span class="keywordflow">else</span> { <a name="l00180"></a>00180 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00181"></a>00181 } <a name="l00182"></a>00182 } <a name="l00183"></a>00183 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00184"></a>00184 } </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="a4dca25836fa52b4e836eb6f08555d176"></a><!-- doxytag: member="sigtype.cpp::operator|" ref="a4dca25836fa52b4e836eb6f08555d176" args="(const Type &t1, const Type &t2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> operator| </td> <td>(</td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classP.html">Type</a> & </td> <td class="paramname"> <em>t2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p><p>achanger </p> </p> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00127">127</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>References <a class="el" href="sigtype_8hh_source.html#l00339">TupletType::arity()</a>, <a class="el" href="sigtype_8hh_source.html#l00104">AudioType::boolean()</a>, <a class="el" href="sigtype_8hh_source.html#l00102">AudioType::computability()</a>, <a class="el" href="sigtype_8hh_source.html#l00298">TableType::content()</a>, <a class="el" href="sigtype_8cpp_source.html#l00219">isSimpleType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00220">isTableType()</a>, <a class="el" href="sigtype_8cpp_source.html#l00221">isTupletType()</a>, <a class="el" href="interval_8hh_source.html#l00059">min()</a>, <a class="el" href="sigtype_8hh_source.html#l00100">AudioType::nature()</a>, <a class="el" href="sigtype_8hh_source.html#l00101">AudioType::variability()</a>, and <a class="el" href="sigtype_8hh_source.html#l00103">AudioType::vectorability()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00128"></a>00128 { <a name="l00129"></a>00129 <a class="code" href="classSimpleType.html" title="The type of a simple numeric audio signal.">SimpleType</a> *st1, *st2; <a name="l00130"></a>00130 <a class="code" href="classTableType.html" title="The type of a table of audio data.">TableType</a> *tt1, *tt2; <a name="l00131"></a>00131 <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a> *nt1, *nt2; <a name="l00132"></a>00132 <a name="l00133"></a>00133 <span class="keywordflow">if</span> ( (st1 = <a class="code" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a>(t1)) && (st2 = <a class="code" href="sigtype_8cpp.html#ab37344c874f1fa0e61ca34cab640e7f5">isSimpleType</a>(t2)) ) { <a name="l00134"></a>00134 <a name="l00135"></a>00135 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classSimpleType.html" title="The type of a simple numeric audio signal.">SimpleType</a>( st1-><a class="code" href="classAudioType.html#ac4b23dd240ebd38c365d7b75cd075a4d" title="returns the kind of values (integre or floating point)">nature</a>()|st2-><a class="code" href="classAudioType.html#ac4b23dd240ebd38c365d7b75cd075a4d" title="returns the kind of values (integre or floating point)">nature</a>(), <a name="l00136"></a>00136 st1-><a class="code" href="classAudioType.html#a277c842d4e013df519b0cfc61e9729a2" title="returns how fast values change (constant, by blocks, by samples)">variability</a>()|st2-><a class="code" href="classAudioType.html#a277c842d4e013df519b0cfc61e9729a2" title="returns how fast values change (constant, by blocks, by samples)">variability</a>(), <a name="l00137"></a>00137 st1-><a class="code" href="classAudioType.html#a7a0713fc2daba47c0c307fa63a3f4ed6" title="returns when values are available (compilation, initialisation, execution)">computability</a>()|st2-><a class="code" href="classAudioType.html#a7a0713fc2daba47c0c307fa63a3f4ed6" title="returns when values are available (compilation, initialisation, execution)">computability</a>(), <a name="l00138"></a>00138 st1-><a class="code" href="classAudioType.html#affb91ae3491bdcfb94f0a00995e6f0e3" title="returns when a signal can be vectorized">vectorability</a>()|st2-><a class="code" href="classAudioType.html#affb91ae3491bdcfb94f0a00995e6f0e3" title="returns when a signal can be vectorized">vectorability</a>(), <a name="l00139"></a>00139 st1-><a class="code" href="classAudioType.html#a1cc9edd50c57622aa80e5c48bf67e66e" title="returns when a signal stands for a boolean value">boolean</a>()|st2-><a class="code" href="classAudioType.html#a1cc9edd50c57622aa80e5c48bf67e66e" title="returns when a signal stands for a boolean value">boolean</a>(), <a name="l00140"></a>00140 <a class="code" href="structinterval.html">interval</a>() <a name="l00141"></a>00141 ); <a name="l00142"></a>00142 <a name="l00143"></a>00143 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( (tt1 = <a class="code" href="sigtype_8cpp.html#ac8b4c7377bb99f19596db76c5a674d03">isTableType</a>(t1)) && (tt2 = <a class="code" href="sigtype_8cpp.html#ac8b4c7377bb99f19596db76c5a674d03">isTableType</a>(t2)) ) { <a name="l00144"></a>00144 <a name="l00145"></a>00145 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classTableType.html" title="The type of a table of audio data.">TableType</a>( tt1-><a class="code" href="classTableType.html#af3800dbe6a31d62ea4fd2ee7fb928ade" title="return the type of data store in the table">content</a>() | tt2-><a class="code" href="classTableType.html#af3800dbe6a31d62ea4fd2ee7fb928ade" title="return the type of data store in the table">content</a>() ); <a name="l00146"></a>00146 <a name="l00147"></a>00147 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( (nt1 = <a class="code" href="sigtype_8cpp.html#a78f2abfce752620d0b4993359f7dcb38">isTupletType</a>(t1)) && (nt2 = <a class="code" href="sigtype_8cpp.html#a78f2abfce752620d0b4993359f7dcb38">isTupletType</a>(t2)) ) { <a name="l00148"></a>00148 <a name="l00149"></a>00149 vector<Type> v; <a name="l00150"></a>00150 <span class="keywordtype">int</span> n = <a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(nt1-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>(), nt2-><a class="code" href="classTupletType.html#a3deeade48555edeb3bef176fcf907239">arity</a>()); <a name="l00151"></a>00151 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i<n; i++) { v.push_back( (*nt1)[i] | (*nt2)[i]); } <a name="l00152"></a>00152 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classTupletType.html" title="The type of a tuplet of data.">TupletType</a>( v ); <a name="l00153"></a>00153 <a name="l00154"></a>00154 } <span class="keywordflow">else</span> { <a name="l00155"></a>00155 <a name="l00156"></a>00156 cerr << <span class="stringliteral">"Error : trying to combine incompatible types, "</span> << t1 << <span class="stringliteral">" and "</span> << t2 << endl; <a name="l00157"></a>00157 exit(1); <a name="l00158"></a>00158 <span class="keywordflow">return</span> 0; <a name="l00159"></a>00159 } <a name="l00160"></a>00160 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <hr/><h2>Variable Documentation</h2> <a class="anchor" id="a18854f209744bdb46c38444e481f78ab"></a><!-- doxytag: member="sigtype.cpp::INT_TGUI" ref="a18854f209744bdb46c38444e481f78ab" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#a18854f209744bdb46c38444e481f78ab">INT_TGUI</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kBlock,kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00122">122</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="a2e683cdf4ef39a0a66047295c7e4759d"></a><!-- doxytag: member="sigtype.cpp::TBLOCK" ref="a2e683cdf4ef39a0a66047295c7e4759d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#a2e683cdf4ef39a0a66047295c7e4759d">TBLOCK</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kBlock, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00111">111</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="af87527edd3fd201d70550428770bf391"></a><!-- doxytag: member="sigtype.cpp::TCOMP" ref="af87527edd3fd201d70550428770bf391" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#af87527edd3fd201d70550428770bf391">TCOMP</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00114">114</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="aafcb036dc5fa7bce7dff6387201b39a5"></a><!-- doxytag: member="sigtype.cpp::TEXEC" ref="aafcb036dc5fa7bce7dff6387201b39a5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#aafcb036dc5fa7bce7dff6387201b39a5">TEXEC</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00116">116</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="a23c558594cc9063e0289e21dd4687fac"></a><!-- doxytag: member="sigtype.cpp::TGUI" ref="a23c558594cc9063e0289e21dd4687fac" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#a23c558594cc9063e0289e21dd4687fac">TGUI</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kBlock,kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00121">121</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>.</p> </div> </div> <a class="anchor" id="aac63824d41e799223deb64e8b860cb9b"></a><!-- doxytag: member="sigtype.cpp::TINIT" ref="aac63824d41e799223deb64e8b860cb9b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#aac63824d41e799223deb64e8b860cb9b">TINIT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kInit, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00115">115</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="ad2a2a2ed670dc4c62ea294183343aa66"></a><!-- doxytag: member="sigtype.cpp::TINPUT" ref="ad2a2a2ed670dc4c62ea294183343aa66" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#ad2a2a2ed670dc4c62ea294183343aa66">TINPUT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kSamp, kExec, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00120">120</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="ab71a699e843f01d4871f97a41c143829"></a><!-- doxytag: member="sigtype.cpp::TINT" ref="ab71a699e843f01d4871f97a41c143829" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#ab71a699e843f01d4871f97a41c143829">TINT</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00107">107</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="a85e7c689125b8a9d14fdb2bc8c2af217"></a><!-- doxytag: member="sigtype.cpp::TKONST" ref="a85e7c689125b8a9d14fdb2bc8c2af217" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#a85e7c689125b8a9d14fdb2bc8c2af217">TKONST</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00110">110</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="aa218516eab5a26ec3cfefedac0e56a8e"></a><!-- doxytag: member="sigtype.cpp::TREAL" ref="aa218516eab5a26ec3cfefedac0e56a8e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#aa218516eab5a26ec3cfefedac0e56a8e">TREAL</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kReal, kKonst, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00108">108</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> <a class="anchor" id="ade278a93e3fbeed9cb7216e9623ecd08"></a><!-- doxytag: member="sigtype.cpp::TREC" ref="ade278a93e3fbeed9cb7216e9623ecd08" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#ade278a93e3fbeed9cb7216e9623ecd08">TREC</a> = <a class="el" href="sigtype_8hh.html#ab71a699e843f01d4871f97a41c143829">TINT</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00124">124</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> <p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00560">initialRecType()</a>.</p> </div> </div> <a class="anchor" id="afcf91448d32ad8d2f21fc064af6417bf"></a><!-- doxytag: member="sigtype.cpp::TSAMP" ref="afcf91448d32ad8d2f21fc064af6417bf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classP.html">Type</a> <a class="el" href="sigtype_8hh.html#afcf91448d32ad8d2f21fc064af6417bf">TSAMP</a> = new <a class="el" href="classSimpleType.html">SimpleType</a>(kInt, kSamp, kComp, kVect, kNum, <a class="el" href="structinterval.html">interval</a>())</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="sigtype_8cpp_source.html#l00112">112</a> of file <a class="el" href="sigtype_8cpp_source.html">sigtype.cpp</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:14 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>