<!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: tree.hh File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main 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>tree.hh File Reference</h1> <p>A tree library with hashconsing and maximal sharing capabilities. <a href="#_details">More...</a></p> <code>#include "<a class="el" href="symbol_8hh_source.html">symbol.hh</a>"</code><br/> <code>#include "<a class="el" href="node_8hh_source.html">node.hh</a>"</code><br/> <code>#include <vector></code><br/> <code>#include <map></code><br/> <code>#include <assert.h></code><br/> <div class="dynheader"> Include dependency graph for tree.hh:</div> <div class="dynsection"> </div> <div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dynsection"> </div> <p><a href="tree_8hh_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCTree.html">CTree</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a> = (<a class="el" href="classNode.html" title="Class Node = (type x (int + double + Sym + void*)).">Node</a> x [<a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>]) is a <a class="el" href="classNode.html" title="Class Node = (type x (int + double + Sym + void*)).">Node</a> associated with a list of subtrees called branches. <a href="classCTree.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classTabber.html">Tabber</a></td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classCTree.html">CTree</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a550445c18f13907b563fa164d2aa5c4e">Tree</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef map< <a class="el" href="classCTree.html">Tree</a>, <a class="el" href="classCTree.html">Tree</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a22ad9111eca5d638262f4744720be347">plist</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef vector< <a class="el" href="classCTree.html">Tree</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad425127c677ce9f82f03e6dc57a87937">tvec</a></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a> (const <a class="el" href="classNode.html">Node</a> &n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a7b42df3433bf903e48509e1dadba39c1">tree</a> (const <a class="el" href="classNode.html">Node</a> &n, const <a class="el" href="classCTree.html">Tree</a> &a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a3db1bf5dc3b9e088a3c921d04178373f">tree</a> (const <a class="el" href="classNode.html">Node</a> &n, const <a class="el" href="classCTree.html">Tree</a> &a, const <a class="el" href="classCTree.html">Tree</a> &b)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a766dfc0c3b4fb6b64c37d045466f6658">tree</a> (const <a class="el" href="classNode.html">Node</a> &n, const <a class="el" href="classCTree.html">Tree</a> &a, const <a class="el" href="classCTree.html">Tree</a> &b, const <a class="el" href="classCTree.html">Tree</a> &c)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a690fbe02dd51249747a91fd6c175e45e">tree</a> (const <a class="el" href="classNode.html">Node</a> &n, const <a class="el" href="classCTree.html">Tree</a> &a, const <a class="el" href="classCTree.html">Tree</a> &b, const <a class="el" href="classCTree.html">Tree</a> &c, const <a class="el" href="classCTree.html">Tree</a> &d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a392459fb5d995744bddfc16ed2a4fc8e">tree</a> (const <a class="el" href="classNode.html">Node</a> &n, const <a class="el" href="classCTree.html">Tree</a> &a, const <a class="el" href="classCTree.html">Tree</a> &b, const <a class="el" href="classCTree.html">Tree</a> &c, const <a class="el" href="classCTree.html">Tree</a> &d, const <a class="el" href="classCTree.html">Tree</a> &e)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a523bce65e2a281fe678f2362496061cf">tree2int</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type int, return it otherwise error <a href="#a523bce65e2a281fe678f2362496061cf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad01262fc04f661b162d36b786419a849">tree2float</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type float, return it otherwise error <a href="#ad01262fc04f661b162d36b786419a849"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ade36e0f4c45ca9bf2307f972715010c7">tree2double</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type float, return it otherwise error <a href="#ade36e0f4c45ca9bf2307f972715010c7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ac753d60778175e30a86cba647db017ad">tree2str</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type symbol, return its name otherwise error <a href="#ac753d60778175e30a86cba647db017ad"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad1d692b2c0a86d485a3d096af07632e6">tree2ptr</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type ptr, return it otherwise error <a href="#ad1d692b2c0a86d485a3d096af07632e6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a91f79cd0c29f24e44e4b3168cfe2fad1">getUserData</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if t has a node of type symbol, return the associated user data <a href="#a91f79cd0c29f24e44e4b3168cfe2fad1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a06be972e0437c7c09e8a1274586fe176">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a2efbd9048f67eff602d8c6cac687282f">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n, <a class="el" href="classCTree.html">Tree</a> &a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a2a6742a54ab79e2cf4f925e3bfacce31">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n, <a class="el" href="classCTree.html">Tree</a> &a, <a class="el" href="classCTree.html">Tree</a> &b)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a07aca64530a97fcfc7dab9cbfd5a04d0">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n, <a class="el" href="classCTree.html">Tree</a> &a, <a class="el" href="classCTree.html">Tree</a> &b, <a class="el" href="classCTree.html">Tree</a> &c)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a6f3f7a6a197c973cd5beca077c282869">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n, <a class="el" href="classCTree.html">Tree</a> &a, <a class="el" href="classCTree.html">Tree</a> &b, <a class="el" href="classCTree.html">Tree</a> &c, <a class="el" href="classCTree.html">Tree</a> &d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a75719c0fb9c6ef72dcefbbeac0c96b7d">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &t, const <a class="el" href="classNode.html">Node</a> &n, <a class="el" href="classCTree.html">Tree</a> &a, <a class="el" href="classCTree.html">Tree</a> &b, <a class="el" href="classCTree.html">Tree</a> &c, <a class="el" href="classCTree.html">Tree</a> &d, <a class="el" href="classCTree.html">Tree</a> &e)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a1781548293b54cd58253e731e130c15e">operator<<</a> (ostream &s, const <a class="el" href="classCTree.html">CTree</a> &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#aa598f21268aa7198407d2eb6929d09ab">rec</a> (<a class="el" href="classCTree.html">Tree</a> body)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">create a de Bruijn recursive tree <a href="#aa598f21268aa7198407d2eb6929d09ab"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a23ecac1d7caf88fcb57c4d47da0d8e51">rec</a> (<a class="el" href="classCTree.html">Tree</a> id, <a class="el" href="classCTree.html">Tree</a> body)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">create a symbolic recursive tree <a href="#a23ecac1d7caf88fcb57c4d47da0d8e51"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a4cb44c6e41e21da830e748dc35f16ba5">isRec</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &body)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">is t a de Bruijn recursive tree <a href="#a4cb44c6e41e21da830e748dc35f16ba5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a6eaedeabb2e6f66b31e21c12adb96e54">isRec</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &id, <a class="el" href="classCTree.html">Tree</a> &body)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">is t a symbolic recursive tree <a href="#a6eaedeabb2e6f66b31e21c12adb96e54"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab93ecee07e77e314fe39e3199d06437a">ref</a> (int level)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">create a de Bruijn recursive reference <a href="#ab93ecee07e77e314fe39e3199d06437a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a125af067c9ecda063a2eace315f5ae12">ref</a> (<a class="el" href="classCTree.html">Tree</a> id)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">create a symbolic recursive reference <a href="#a125af067c9ecda063a2eace315f5ae12"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a3a07093d0e487cc733adab39f6a18e78">isRef</a> (<a class="el" href="classCTree.html">Tree</a> t, int &level)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">is t a de Bruijn recursive reference <a href="#a3a07093d0e487cc733adab39f6a18e78"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#adb8fa0e2bea8270b17354331c1e344b5">isRef</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &id)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">is t a symbolic recursive reference <a href="#adb8fa0e2bea8270b17354331c1e344b5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#af31b1f843981d67b717d68d6285d7da6">isOpen</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">t contains free de Bruijn references <a href="#af31b1f843981d67b717d68d6285d7da6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a447a569f359244de90fa72c2efdb8be5">isClosed</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">t dont contain free de Bruijn ref <a href="#a447a569f359244de90fa72c2efdb8be5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#abf6659f19a0e48b81af0b0fb39ede302">lift</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab896f65486e6d80d4440721f2f89ff96">deBruijn2Sym</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ae6da444b930bc1b8eed51bd15108e5e2">updateAperture</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab9c974fb35ace4ee17e328ce1b1a66c3">operator<<</a> (ostream &s, <a class="el" href="classTabber.html">Tabber</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="classTabber.html">Tabber</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a31f92fc27ddbbae324cab50a245fee73">TABBER</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A tree library with hashconsing and maximal sharing capabilities. </p> <p>A tree library with hashconsing and maximal sharing capabilities.</p> <p><b>API:</b></p> <ul> <li>tree (n) : tree of node n with no branch </li> <li>tree (n, t1) : tree of node n with a branch t </li> <li>tree (n, t1,...,tm) : tree of node n with m branches t1,...,tm</li> </ul> <p><b>Useful conversions :</b></p> <ul> <li>int tree2int (t) : if t has a node of type int, return it otherwise error </li> <li>float tree2float (t) : if t has a node of type float, return it otherwise error </li> <li>const char* tree2str (t) : if t has a node of type symbol, return its name otherwise error </li> <li>void* tree2ptr (t) : if t has a node of type ptr, return it otherwise error</li> </ul> <p><b>Pattern matching :</b></p> <ul> <li>if (isTree (t, n)) ... : t has node n and no branches; </li> <li>if (isTree (t, n, &t1) ... : t has node n and 1 branch, t1 is set accordingly; </li> <li>if (isTree (t, n, &t1...&tm)... : t has node n and m branches, ti's are set accordingly;</li> </ul> <p><b>Accessors :</b></p> <ul> <li>t->node() : the node of t { return fNode; } </li> <li>t->height() : lambda height such that H(x)=0, H(.e)=1+H(e), H(e*f)=max(H(e),H(f)) </li> <li>t->arity() : the number of branches of t { return fArity; } </li> <li>t->branch(i) : the ith branch of t</li> </ul> <p><b>Attributs :</b></p> <ul> <li>t->attribut() : return the attribut (also a tree) of t </li> <li>t->attribut(t') : set the attribut of t to t'</li> </ul> <p><b>Properties:</b></p> <p>If p and q are two <a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a> pointers : p != q <=> *p != *q </p> <p>Definition in file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a22ad9111eca5d638262f4744720be347"></a><!-- doxytag: member="tree.hh::plist" ref="a22ad9111eca5d638262f4744720be347" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef map<<a class="el" href="classCTree.html">Tree</a>, <a class="el" href="classCTree.html">Tree</a>> <a class="el" href="tree_8hh.html#a22ad9111eca5d638262f4744720be347">plist</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00089">89</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> </div> </div> <a class="anchor" id="a550445c18f13907b563fa164d2aa5c4e"></a><!-- doxytag: member="tree.hh::Tree" ref="a550445c18f13907b563fa164d2aa5c4e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classCTree.html">CTree</a>* <a class="el" href="classCTree.html">Tree</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00086">86</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> </div> </div> <a class="anchor" id="ad425127c677ce9f82f03e6dc57a87937"></a><!-- doxytag: member="tree.hh::tvec" ref="ad425127c677ce9f82f03e6dc57a87937" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef vector<<a class="el" href="classCTree.html">Tree</a>> <a class="el" href="tree_8hh.html#ad425127c677ce9f82f03e6dc57a87937">tvec</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00090">90</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ab896f65486e6d80d4440721f2f89ff96"></a><!-- doxytag: member="tree.hh::deBruijn2Sym" ref="ab896f65486e6d80d4440721f2f89ff96" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> deBruijn2Sym </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</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="recursive-tree_8cpp_source.html#l00223">223</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="tree_8hh_source.html#l00160">CTree::getProperty()</a>, <a class="el" href="tree_8hh_source.html#l00225">isClosed()</a>, and <a class="el" href="tree_8hh_source.html#l00158">CTree::setProperty()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="doc_8cpp_source.html#l00645">mapPrepareEqSig()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00096">ScalarCompiler::prepare()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00224"></a>00224 { <a name="l00225"></a>00225 assert(<a class="code" href="tree_8hh.html#a447a569f359244de90fa72c2efdb8be5" title="t dont contain free de Bruijn ref">isClosed</a>(t)); <a name="l00226"></a>00226 <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> t2 = t-><a class="code" href="classCTree.html#a902b48b83db587f14dbd31999c0f715f">getProperty</a>(<a class="code" href="recursive-tree_8cpp.html#ade56faf8037fbd6fa55fe1ccc21c74f0">DEBRUIJN2SYM</a>); <a name="l00227"></a>00227 <a name="l00228"></a>00228 <span class="keywordflow">if</span> (!t2) { <a name="l00229"></a>00229 t2 = <a class="code" href="recursive-tree_8cpp.html#ab814aecf89e4591fd9a23f4ab145f8f0">calcDeBruijn2Sym</a>(t); <a name="l00230"></a>00230 t-><a class="code" href="classCTree.html#ac628a2ad0d2a21de584e3bca291bd38c">setProperty</a>(<a class="code" href="recursive-tree_8cpp.html#ade56faf8037fbd6fa55fe1ccc21c74f0">DEBRUIJN2SYM</a>, t2); <a name="l00231"></a>00231 } <a name="l00232"></a>00232 <span class="keywordflow">return</span> t2; <a name="l00233"></a>00233 } </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="a91f79cd0c29f24e44e4b3168cfe2fad1"></a><!-- doxytag: member="tree.hh::getUserData" ref="a91f79cd0c29f24e44e4b3168cfe2fad1" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* getUserData </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type symbol, return the associated user data </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00386">386</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="symbol_8hh_source.html#l00100">getUserData()</a>, <a class="el" href="node_8hh_source.html#l00193">isSym()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00387"></a>00387 { <a name="l00388"></a>00388 <a class="code" href="classSymbol.html" title="Symbols are unique objects with a name stored in a hash table.">Sym</a> s; <a name="l00389"></a>00389 <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#ab714e75c43d570297ff54578dc7e9ce3">isSym</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &s)) { <a name="l00390"></a>00390 <span class="keywordflow">return</span> <a class="code" href="symbol_8hh.html#a603fcb6c07eacf2688c2a8470637d0ff" title="Returns user data.">getUserData</a>(s); <a name="l00391"></a>00391 } <span class="keywordflow">else</span> { <a name="l00392"></a>00392 <span class="keywordflow">return</span> 0; <a name="l00393"></a>00393 } <a name="l00394"></a>00394 } </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="a447a569f359244de90fa72c2efdb8be5"></a><!-- doxytag: member="tree.hh::isClosed" ref="a447a569f359244de90fa72c2efdb8be5" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isClosed </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>t dont contain free de Bruijn ref </p> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00225">225</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00145">CTree::aperture()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, and <a class="el" href="recursive-tree_8cpp_source.html#l00223">deBruijn2Sym()</a>.</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="af31b1f843981d67b717d68d6285d7da6"></a><!-- doxytag: member="tree.hh::isOpen" ref="af31b1f843981d67b717d68d6285d7da6" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isOpen </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>t contains free de Bruijn references </p> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00224">224</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00145">CTree::aperture()</a>.</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="a6eaedeabb2e6f66b31e21c12adb96e54"></a><!-- doxytag: member="tree.hh::isRec" ref="a6eaedeabb2e6f66b31e21c12adb96e54" args="(Tree t, Tree &id, Tree &body)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isRec </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</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>id</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>body</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>is t a symbolic recursive tree </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00095">95</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00160">CTree::getProperty()</a>, and <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00096"></a>00096 { <a name="l00097"></a>00097 <span class="keywordflow">if</span> (<a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, var)) { <a name="l00098"></a>00098 body = t-><a class="code" href="classCTree.html#a902b48b83db587f14dbd31999c0f715f">getProperty</a>(<a class="code" href="recursive-tree_8cpp.html#aa589b365baa26873e9e1f76f7482c3fc">RECDEF</a>); <a name="l00099"></a>00099 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00100"></a>00100 } <span class="keywordflow">else</span> { <a name="l00101"></a>00101 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00102"></a>00102 } <a name="l00103"></a>00103 } </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="a4cb44c6e41e21da830e748dc35f16ba5"></a><!-- doxytag: member="tree.hh::isRec" ref="a4cb44c6e41e21da830e748dc35f16ba5" args="(Tree t, Tree &body)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isRec </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</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>body</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>is t a de Bruijn recursive tree </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00059">59</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p> <p>Referenced by <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00878">DocCompiler::generateRecProj()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00766">ScalarCompiler::generateRecProj()</a>, <a class="el" href="subsignals_8cpp_source.html#l00010">getSubSignals()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="sigprint_8cpp_source.html#l00085">printSignal()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, and <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00060"></a>00060 { <a name="l00061"></a>00061 <span class="keywordflow">return</span> <a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a079e594f132e158b05af96450deaeeb5">DEBRUIJN</a>, body); <a name="l00062"></a>00062 } </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="adb8fa0e2bea8270b17354331c1e344b5"></a><!-- doxytag: member="tree.hh::isRef" ref="adb8fa0e2bea8270b17354331c1e344b5" args="(Tree t, Tree &id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isRef </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</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>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>is t a symbolic recursive reference </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00111">111</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00112"></a>00112 { <a name="l00113"></a>00113 <span class="keywordflow">return</span> <a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, v); <a name="l00114"></a>00114 } </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="a3a07093d0e487cc733adab39f6a18e78"></a><!-- doxytag: member="tree.hh::isRef" ref="a3a07093d0e487cc733adab39f6a18e78" args="(Tree t, int &level)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isRef </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int & </td> <td class="paramname"> <em>level</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>is t a de Bruijn recursive reference </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00070">70</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="sigprint_8cpp_source.html#l00085">printSignal()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>, and <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00071"></a>00071 { <a name="l00072"></a>00072 <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> u; <a name="l00073"></a>00073 <a name="l00074"></a>00074 <span class="keywordflow">if</span> (<a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a0a0bb7149e09722eb48442f920afa94a">DEBRUIJNREF</a>, u)) { <a name="l00075"></a>00075 <span class="keywordflow">return</span> <a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(u-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &level); <a name="l00076"></a>00076 } <span class="keywordflow">else</span> { <a name="l00077"></a>00077 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00078"></a>00078 } <a name="l00079"></a>00079 } </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="a75719c0fb9c6ef72dcefbbeac0c96b7d"></a><!-- doxytag: member="tree.hh::isTree" ref="a75719c0fb9c6ef72dcefbbeac0c96b7d" args="(const Tree &t, const Node &n, Tree &a, Tree &b, Tree &c, Tree &d, Tree &e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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>a</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>b</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>c</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>d</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>e</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="tree_8cpp_source.html#l00370">370</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00371"></a>00371 { <a name="l00372"></a>00372 <span class="keywordflow">if</span> ((t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) && (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 5)) { <a name="l00373"></a>00373 a=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); <a name="l00374"></a>00374 b=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); <a name="l00375"></a>00375 c=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); <a name="l00376"></a>00376 d=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3); <a name="l00377"></a>00377 e=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(4); <a name="l00378"></a>00378 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00379"></a>00379 } <span class="keywordflow">else</span> { <a name="l00380"></a>00380 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00381"></a>00381 } <a name="l00382"></a>00382 } </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="a6f3f7a6a197c973cd5beca077c282869"></a><!-- doxytag: member="tree.hh::isTree" ref="a6f3f7a6a197c973cd5beca077c282869" args="(const Tree &t, const Node &n, Tree &a, Tree &b, Tree &c, Tree &d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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>a</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>b</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>c</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>d</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="tree_8cpp_source.html#l00357">357</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00358"></a>00358 { <a name="l00359"></a>00359 <span class="keywordflow">if</span> ((t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) && (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 4)) { <a name="l00360"></a>00360 a=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); <a name="l00361"></a>00361 b=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); <a name="l00362"></a>00362 c=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); <a name="l00363"></a>00363 d=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3); <a name="l00364"></a>00364 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00365"></a>00365 } <span class="keywordflow">else</span> { <a name="l00366"></a>00366 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00367"></a>00367 } <a name="l00368"></a>00368 } </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="a07aca64530a97fcfc7dab9cbfd5a04d0"></a><!-- doxytag: member="tree.hh::isTree" ref="a07aca64530a97fcfc7dab9cbfd5a04d0" args="(const Tree &t, const Node &n, Tree &a, Tree &b, Tree &c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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>a</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>b</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>c</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="tree_8cpp_source.html#l00345">345</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00346"></a>00346 { <a name="l00347"></a>00347 <span class="keywordflow">if</span> ((t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) && (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 3)) { <a name="l00348"></a>00348 a=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); <a name="l00349"></a>00349 b=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); <a name="l00350"></a>00350 c=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); <a name="l00351"></a>00351 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00352"></a>00352 } <span class="keywordflow">else</span> { <a name="l00353"></a>00353 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00354"></a>00354 } <a name="l00355"></a>00355 } </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="a2a6742a54ab79e2cf4f925e3bfacce31"></a><!-- doxytag: member="tree.hh::isTree" ref="a2a6742a54ab79e2cf4f925e3bfacce31" args="(const Tree &t, const Node &n, Tree &a, Tree &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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>a</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>b</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="tree_8cpp_source.html#l00334">334</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00335"></a>00335 { <a name="l00336"></a>00336 <span class="keywordflow">if</span> ((t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) && (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 2)) { <a name="l00337"></a>00337 a=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); <a name="l00338"></a>00338 b=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); <a name="l00339"></a>00339 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00340"></a>00340 } <span class="keywordflow">else</span> { <a name="l00341"></a>00341 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00342"></a>00342 } <a name="l00343"></a>00343 } </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="a2efbd9048f67eff602d8c6cac687282f"></a><!-- doxytag: member="tree.hh::isTree" ref="a2efbd9048f67eff602d8c6cac687282f" args="(const Tree &t, const Node &n, Tree &a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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>a</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="tree_8cpp_source.html#l00324">324</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00325"></a>00325 { <a name="l00326"></a>00326 <span class="keywordflow">if</span> ((t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) && (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 1)) { <a name="l00327"></a>00327 a=t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); <a name="l00328"></a>00328 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00329"></a>00329 } <span class="keywordflow">else</span> { <a name="l00330"></a>00330 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00331"></a>00331 } <a name="l00332"></a>00332 } </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="a06be972e0437c7c09e8a1274586fe176"></a><!-- doxytag: member="tree.hh::isTree" ref="a06be972e0437c7c09e8a1274586fe176" args="(const Tree &t, const Node &n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</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="tree_8cpp_source.html#l00319">319</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="boxes_8cpp_source.html#l00176">isBoxAbstr()</a>, <a class="el" href="boxes_8cpp_source.html#l00226">isBoxAccess()</a>, <a class="el" href="boxes_8cpp_source.html#l00177">isBoxAppl()</a>, <a class="el" href="boxes_8cpp_source.html#l00326">isBoxButton()</a>, <a class="el" href="boxes_8cpp_source.html#l00436">isBoxCase()</a>, <a class="el" href="boxes_8cpp_source.html#l00332">isBoxCheckbox()</a>, <a class="el" href="boxes_8cpp_source.html#l00250">isBoxComponent()</a>, <a class="el" href="boxes_8cpp_source.html#l00090">isBoxCut()</a>, <a class="el" href="boxes_8cpp_source.html#l00245">isBoxEnvironment()</a>, <a class="el" href="boxes_8cpp_source.html#l00219">isBoxError()</a>, <a class="el" href="boxes_8cpp_source.html#l00310">isBoxFConst()</a>, <a class="el" href="boxes_8cpp_source.html#l00304">isBoxFFun()</a>, <a class="el" href="boxes_8cpp_source.html#l00316">isBoxFVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00417">isBoxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00399">isBoxHGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00339">isBoxHSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00058">isBoxIdent()</a>, <a class="el" href="boxes_8cpp_source.html#l00154">isBoxIPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00157">isBoxIProd()</a>, <a class="el" href="boxes_8cpp_source.html#l00155">isBoxISeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00156">isBoxISum()</a>, <a class="el" href="boxes_8cpp_source.html#l00255">isBoxLibrary()</a>, <a class="el" href="boxes_8cpp_source.html#l00137">isBoxMerge()</a>, <a class="el" href="boxes_8cpp_source.html#l00380">isBoxNumEntry()</a>, <a class="el" href="boxes_8cpp_source.html#l00125">isBoxPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00448">isBoxPatternMatcher()</a>, <a class="el" href="boxes_8cpp_source.html#l00440">isBoxPatternVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00270">isBoxPrim0()</a>, <a class="el" href="boxes_8cpp_source.html#l00275">isBoxPrim1()</a>, <a class="el" href="boxes_8cpp_source.html#l00280">isBoxPrim2()</a>, <a class="el" href="boxes_8cpp_source.html#l00285">isBoxPrim3()</a>, <a class="el" href="boxes_8cpp_source.html#l00290">isBoxPrim4()</a>, <a class="el" href="boxes_8cpp_source.html#l00295">isBoxPrim5()</a>, <a class="el" href="boxes_8cpp_source.html#l00129">isBoxRec()</a>, <a class="el" href="boxes_8cpp_source.html#l00121">isBoxSeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00104">isBoxSlot()</a>, <a class="el" href="boxes_8cpp_source.html#l00133">isBoxSplit()</a>, <a class="el" href="boxes_8cpp_source.html#l00111">isBoxSymbolic()</a>, <a class="el" href="boxes_8cpp_source.html#l00411">isBoxTGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00423">isBoxVBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00405">isBoxVGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00359">isBoxVSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00094">isBoxWire()</a>, <a class="el" href="boxes_8cpp_source.html#l00235">isBoxWithLocalDef()</a>, <a class="el" href="boxes_8cpp_source.html#l00209">isClosure()</a>, <a class="el" href="doc_8cpp_source.html#l00185">isDocDgm()</a>, <a class="el" href="doc_8cpp_source.html#l00181">isDocEqn()</a>, <a class="el" href="doc_8cpp_source.html#l00193">isDocLst()</a>, <a class="el" href="doc_8cpp_source.html#l00189">isDocNtc()</a>, <a class="el" href="doc_8cpp_source.html#l00168">isDocTxt()</a>, <a class="el" href="boxes_8cpp_source.html#l00261">isImportFile()</a>, <a class="el" href="labels_8cpp_source.html#l00028">isPathCurrent()</a>, <a class="el" href="labels_8cpp_source.html#l00024">isPathParent()</a>, <a class="el" href="labels_8cpp_source.html#l00020">isPathRoot()</a>, <a class="el" href="signals_8cpp_source.html#l00151">isProj()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00059">isRec()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00070">isRef()</a>, <a class="el" href="signals_8cpp_source.html#l00286">isSigAttach()</a>, <a class="el" href="signals_8cpp_source.html#l00126">isSigBinOp()</a>, <a class="el" href="signals_8cpp_source.html#l00199">isSigButton()</a>, <a class="el" href="signals_8cpp_source.html#l00205">isSigCheckbox()</a>, <a class="el" href="signals_8cpp_source.html#l00058">isSigDelay1()</a>, <a class="el" href="signals_8cpp_source.html#l00107">isSigDocAccessTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00099">isSigDocConstantTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00103">isSigDocWriteTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00138">isSigFConst()</a>, <a class="el" href="signals_8cpp_source.html#l00133">isSigFFun()</a>, <a class="el" href="signals_8cpp_source.html#l00062">isSigFixDelay()</a>, <a class="el" href="signals_8cpp_source.html#l00187">isSigFloatCast()</a>, <a class="el" href="signals_8cpp_source.html#l00144">isSigFVar()</a>, <a class="el" href="signals_8cpp_source.html#l00091">isSigGen()</a>, <a class="el" href="signals_8cpp_source.html#l00274">isSigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00212">isSigHSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00048">isSigInput()</a>, <a class="el" href="signals_8cpp_source.html#l00184">isSigIntCast()</a>, <a class="el" href="signals_8cpp_source.html#l00070">isSigIota()</a>, <a class="el" href="signals_8cpp_source.html#l00252">isSigNumEntry()</a>, <a class="el" href="signals_8cpp_source.html#l00052">isSigOutput()</a>, <a class="el" href="signals_8cpp_source.html#l00066">isSigPrefix()</a>, <a class="el" href="signals_8cpp_source.html#l00077">isSigRDTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00116">isSigSelect2()</a>, <a class="el" href="signals_8cpp_source.html#l00119">isSigSelect3()</a>, <a class="el" href="signals_8cpp_source.html#l00085">isSigTable()</a>, <a class="el" href="signals_8cpp_source.html#l00375">isSigTuple()</a>, <a class="el" href="signals_8cpp_source.html#l00380">isSigTupleAccess()</a>, <a class="el" href="signals_8cpp_source.html#l00280">isSigVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00232">isSigVSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00081">isSigWRTbl()</a>, <a class="el" href="uitree_8cpp_source.html#l00136">isUiFolder()</a>, and <a class="el" href="uitree_8cpp_source.html#l00141">isUiWidget()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00320"></a>00320 { <a name="l00321"></a>00321 <span class="keywordflow">return</span> (t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n); <a name="l00322"></a>00322 } </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="abf6659f19a0e48b81af0b0fb39ede302"></a><!-- doxytag: member="tree.hh::lift" ref="abf6659f19a0e48b81af0b0fb39ede302" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> lift </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</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="recursive-tree_8cpp_source.html#l00149">149</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="recursive-tree_8cpp_source.html#l00169">liftn()</a>.</p> <p>Referenced by <a class="el" href="propagate_8cpp_source.html#l00143">listLift()</a>, and <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00149"></a>00149 { <span class="keywordflow">return</span> <a class="code" href="recursive-tree_8cpp.html#a170b606017c8f6e443ad39f1dbb9ca8d">liftn</a>(t, 1); } </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="ab9c974fb35ace4ee17e328ce1b1a66c3"></a><!-- doxytag: member="tree.hh::operator<<" ref="ab9c974fb35ace4ee17e328ce1b1a66c3" args="(ostream &s, Tabber &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>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTabber.html">Tabber</a> & </td> <td class="paramname"> <em>t</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="tree_8hh_source.html#l00249">249</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00244">Tabber::print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00249"></a>00249 { <span class="keywordflow">return</span> t.<a class="code" href="classTabber.html#a43ac045bf16aaa952134c9c1f66aa681">print</a>(s); } </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="a1781548293b54cd58253e731e130c15e"></a><!-- doxytag: member="tree.hh::operator<<" ref="a1781548293b54cd58253e731e130c15e" args="(ostream &s, const CTree &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>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">CTree</a> & </td> <td class="paramname"> <em>t</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="tree_8hh_source.html#l00198">198</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="tree_8cpp_source.html#l00188">CTree::print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00198"></a>00198 { <span class="keywordflow">return</span> t.<a class="code" href="classCTree.html#a47b39b985a852b02b12c8dd2d790543e" title="print recursively the content of a tree on a stream">print</a>(s); } </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="a23ecac1d7caf88fcb57c4d47da0d8e51"></a><!-- doxytag: member="tree.hh::rec" ref="a23ecac1d7caf88fcb57c4d47da0d8e51" args="(Tree id, Tree body)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> rec </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>id</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>body</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>create a symbolic recursive tree </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00088">88</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00158">CTree::setProperty()</a>, and <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00089"></a>00089 { <a name="l00090"></a>00090 <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> t = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, var); <a name="l00091"></a>00091 t-><a class="code" href="classCTree.html#ac628a2ad0d2a21de584e3bca291bd38c">setProperty</a>(<a class="code" href="recursive-tree_8cpp.html#aa589b365baa26873e9e1f76f7482c3fc">RECDEF</a>, body); <a name="l00092"></a>00092 <span class="keywordflow">return</span> t; <a name="l00093"></a>00093 } </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="aa598f21268aa7198407d2eb6929d09ab"></a><!-- doxytag: member="tree.hh::rec" ref="aa598f21268aa7198407d2eb6929d09ab" args="(Tree body)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> rec </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>body</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>create a de Bruijn recursive tree </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00054">54</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, and <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00055"></a>00055 { <a name="l00056"></a>00056 <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a079e594f132e158b05af96450deaeeb5">DEBRUIJN</a>, body); <a name="l00057"></a>00057 } </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="a125af067c9ecda063a2eace315f5ae12"></a><!-- doxytag: member="tree.hh::ref" ref="a125af067c9ecda063a2eace315f5ae12" args="(Tree id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> ref </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>id</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>create a symbolic recursive reference </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00106">106</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00107"></a>00107 { <a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, <span class="keywordtype">id</span>); <span class="comment">// reference to a symbolic id</span> <a name="l00109"></a>00109 } </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="ab93ecee07e77e314fe39e3199d06437a"></a><!-- doxytag: member="tree.hh::ref" ref="ab93ecee07e77e314fe39e3199d06437a" args="(int level)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> ref </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>level</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>create a de Bruijn recursive reference </p> <p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00064">64</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, and <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00065"></a>00065 { <a name="l00066"></a>00066 assert(level > 0); <a name="l00067"></a>00067 <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a0a0bb7149e09722eb48442f920afa94a">DEBRUIJNREF</a>, <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(level)); <span class="comment">// reference to enclosing recursive tree starting from 1</span> <a name="l00068"></a>00068 } </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="a392459fb5d995744bddfc16ed2a4fc8e"></a><!-- doxytag: member="tree.hh::tree" ref="a392459fb5d995744bddfc16ed2a4fc8e" args="(const Node &n, const Tree &a, const Tree &b, const Tree &c, const Tree &d, const Tree &e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>e</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="tree_8hh_source.html#l00179">179</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00179"></a>00179 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c,d,e}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 5, br); } </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="a690fbe02dd51249747a91fd6c175e45e"></a><!-- doxytag: member="tree.hh::tree" ref="a690fbe02dd51249747a91fd6c175e45e" args="(const Node &n, const Tree &a, const Tree &b, const Tree &c, const Tree &d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>d</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="tree_8hh_source.html#l00177">177</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00177"></a>00177 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c,d}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 4, br); } </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="a766dfc0c3b4fb6b64c37d045466f6658"></a><!-- doxytag: member="tree.hh::tree" ref="a766dfc0c3b4fb6b64c37d045466f6658" args="(const Node &n, const Tree &a, const Tree &b, const Tree &c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>c</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="tree_8hh_source.html#l00176">176</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00176"></a>00176 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 3, br); } </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="a3db1bf5dc3b9e088a3c921d04178373f"></a><!-- doxytag: member="tree.hh::tree" ref="a3db1bf5dc3b9e088a3c921d04178373f" args="(const Node &n, const Tree &a, const Tree &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>b</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="tree_8hh_source.html#l00175">175</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00175"></a>00175 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 2, br); } </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="a7b42df3433bf903e48509e1dadba39c1"></a><!-- doxytag: member="tree.hh::tree" ref="a7b42df3433bf903e48509e1dadba39c1" args="(const Node &n, const Tree &a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>a</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="tree_8hh_source.html#l00174">174</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00174"></a>00174 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 1, br); } </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="a61c13e9361cfa80bbb3cd6ce60a8f595"></a><!-- doxytag: member="tree.hh::tree" ref="a61c13e9361cfa80bbb3cd6ce60a8f595" args="(const Node &n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classNode.html">Node</a> & </td> <td class="paramname"> <em>n</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="tree_8hh_source.html#l00173">173</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p> <p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p> <p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00117">addEnv()</a>, <a class="el" href="signals_8cpp_source.html#l00290">addNums()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="eval_8cpp_source.html#l00225">autoName()</a>, <a class="el" href="xtended_8hh_source.html#l00027">xtended::box()</a>, <a class="el" href="boxes_8cpp_source.html#l00170">boxAbstr()</a>, <a class="el" href="boxes_8cpp_source.html#l00225">boxAccess()</a>, <a class="el" href="boxes_8cpp_source.html#l00171">boxAppl()</a>, <a class="el" href="boxes_8cpp_source.html#l00325">boxButton()</a>, <a class="el" href="boxes_8cpp_source.html#l00435">boxCase()</a>, <a class="el" href="boxes_8cpp_source.html#l00331">boxCheckbox()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00056">boxComplexity()</a>, <a class="el" href="boxes_8cpp_source.html#l00249">boxComponent()</a>, <a class="el" href="boxes_8cpp_source.html#l00089">boxCut()</a>, <a class="el" href="boxes_8cpp_source.html#l00244">boxEnvironment()</a>, <a class="el" href="boxes_8cpp_source.html#l00214">boxError()</a>, <a class="el" href="boxes_8cpp_source.html#l00309">boxFConst()</a>, <a class="el" href="boxes_8cpp_source.html#l00303">boxFFun()</a>, <a class="el" href="boxes_8cpp_source.html#l00315">boxFVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00416">boxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00398">boxHGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00337">boxHSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00056">boxIdent()</a>, <a class="el" href="boxes_8cpp_source.html#l00074">boxInt()</a>, <a class="el" href="boxes_8cpp_source.html#l00149">boxIPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00152">boxIProd()</a>, <a class="el" href="boxes_8cpp_source.html#l00150">boxISeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00151">boxISum()</a>, <a class="el" href="boxes_8cpp_source.html#l00254">boxLibrary()</a>, <a class="el" href="boxes_8cpp_source.html#l00136">boxMerge()</a>, <a class="el" href="boxes_8cpp_source.html#l00378">boxNumEntry()</a>, <a class="el" href="boxes_8cpp_source.html#l00124">boxPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00443">boxPatternMatcher()</a>, <a class="el" href="boxes_8cpp_source.html#l00439">boxPatternVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00269">boxPrim0()</a>, <a class="el" href="boxes_8cpp_source.html#l00274">boxPrim1()</a>, <a class="el" href="boxes_8cpp_source.html#l00279">boxPrim2()</a>, <a class="el" href="boxes_8cpp_source.html#l00284">boxPrim3()</a>, <a class="el" href="boxes_8cpp_source.html#l00289">boxPrim4()</a>, <a class="el" href="boxes_8cpp_source.html#l00294">boxPrim5()</a>, <a class="el" href="boxes_8cpp_source.html#l00075">boxReal()</a>, <a class="el" href="boxes_8cpp_source.html#l00128">boxRec()</a>, <a class="el" href="boxes_8cpp_source.html#l00120">boxSeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00103">boxSlot()</a>, <a class="el" href="boxes_8cpp_source.html#l00132">boxSplit()</a>, <a class="el" href="boxes_8cpp_source.html#l00110">boxSymbolic()</a>, <a class="el" href="boxes_8cpp_source.html#l00410">boxTGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00422">boxVBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00404">boxVGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00357">boxVSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00093">boxWire()</a>, <a class="el" href="boxes_8cpp_source.html#l00234">boxWithLocalDef()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="boxes_8cpp_source.html#l00204">closure()</a>, <a class="el" href="mterm_8cpp_source.html#l00352">combineDivLeft()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="tanprim_8cpp_source.html#l00031">TanPrim::computeSigOutput()</a>, <a class="el" href="sqrtprim_8cpp_source.html#l00038">SqrtPrim::computeSigOutput()</a>, <a class="el" href="sinprim_8cpp_source.html#l00031">SinPrim::computeSigOutput()</a>, <a class="el" href="rintprim_8cpp_source.html#l00048">RintPrim::computeSigOutput()</a>, <a class="el" href="remainderprim_8cpp_source.html#l00033">RemainderPrim::computeSigOutput()</a>, <a class="el" href="powprim_8cpp_source.html#l00032">PowPrim::computeSigOutput()</a>, <a class="el" href="minprim_8cpp_source.html#l00036">MinPrim::computeSigOutput()</a>, <a class="el" href="maxprim_8cpp_source.html#l00036">MaxPrim::computeSigOutput()</a>, <a class="el" href="logprim_8cpp_source.html#l00037">LogPrim::computeSigOutput()</a>, <a class="el" href="log10prim_8cpp_source.html#l00038">Log10Prim::computeSigOutput()</a>, <a class="el" href="fmodprim_8cpp_source.html#l00032">FmodPrim::computeSigOutput()</a>, <a class="el" href="floorprim_8cpp_source.html#l00032">FloorPrim::computeSigOutput()</a>, <a class="el" href="expprim_8cpp_source.html#l00032">ExpPrim::computeSigOutput()</a>, <a class="el" href="cosprim_8cpp_source.html#l00031">CosPrim::computeSigOutput()</a>, <a class="el" href="ceilprim_8cpp_source.html#l00032">CeilPrim::computeSigOutput()</a>, <a class="el" href="atanprim_8cpp_source.html#l00031">AtanPrim::computeSigOutput()</a>, <a class="el" href="atan2prim_8cpp_source.html#l00031">Atan2Prim::computeSigOutput()</a>, <a class="el" href="asinprim_8cpp_source.html#l00031">AsinPrim::computeSigOutput()</a>, <a class="el" href="acosprim_8cpp_source.html#l00031">AcosPrim::computeSigOutput()</a>, <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00303">declareMetadata()</a>, <a class="el" href="signals_8cpp_source.html#l00318">divExtendedNums()</a>, <a class="el" href="signals_8cpp_source.html#l00311">divNums()</a>, <a class="el" href="doc_8cpp_source.html#l00184">docDgm()</a>, <a class="el" href="doc_8cpp_source.html#l00180">docEqn()</a>, <a class="el" href="doc_8cpp_source.html#l00192">docLst()</a>, <a class="el" href="doc_8cpp_source.html#l00188">docNtc()</a>, <a class="el" href="doc_8cpp_source.html#l00166">docTxt()</a>, <a class="el" href="labels_8cpp_source.html#l00036">encodeName()</a>, <a class="el" href="prim2_8cpp_source.html#l00029">ffunction()</a>, <a class="el" href="mterm_8cpp_source.html#l00267">gcd()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00498">ScalarCompiler::generateButton()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00507">ScalarCompiler::generateCheckbox()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00572">ScalarCompiler::generateHBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00526">ScalarCompiler::generateHSlider()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00535">ScalarCompiler::generateNumEntry()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00545">ScalarCompiler::generateVBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00517">ScalarCompiler::generateVSlider()</a>, <a class="el" href="boxtype_8cpp_source.html#l00063">getBoxType()</a>, <a class="el" href="eval_8cpp_source.html#l00273">getEvalProperty()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="eval_8cpp_source.html#l01307">getPMProperty()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="boxes_8cpp_source.html#l00260">importFile()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00577">infereRecType()</a>, <a class="el" href="signals_8cpp_source.html#l00332">inverseNum()</a>, <a class="el" href="eval_8cpp_source.html#l00816">iteratePar()</a>, <a class="el" href="eval_8cpp_source.html#l00898">iterateProd()</a>, <a class="el" href="eval_8cpp_source.html#l00842">iterateSeq()</a>, <a class="el" href="eval_8cpp_source.html#l00870">iterateSum()</a>, <a class="el" href="labels_8cpp_source.html#l00057">label2path()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00169">liftn()</a>, <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="privatise_8cpp_source.html#l00054">makePrivatisationKey()</a>, <a class="el" href="privatise_8cpp_source.html#l00061">makePrivatisationLabel()</a>, <a class="el" href="occurences_8cpp_source.html#l00063">OccMarkup::mark()</a>, <a class="el" href="signals_8cpp_source.html#l00325">minusNum()</a>, <a class="el" href="signals_8cpp_source.html#l00304">mulNums()</a>, <a class="el" href="normalize_8cpp_source.html#l00059">normalizeDelay1Term()</a>, <a class="el" href="mterm_8cpp_source.html#l00391">mterm::normalizedTree()</a>, <a class="el" href="aterm_8cpp_source.html#l00059">aterm::normalizedTree()</a>, <a class="el" href="labels_8cpp_source.html#l00027">pathCurrent()</a>, <a class="el" href="labels_8cpp_source.html#l00023">pathParent()</a>, <a class="el" href="labels_8cpp_source.html#l00019">pathRoot()</a>, <a class="el" href="eval_8cpp_source.html#l00647">patternSimplification()</a>, <a class="el" href="doc_8cpp_source.html#l00287">printdocheader()</a>, <a class="el" href="main_8cpp_source.html#l00387">printheader()</a>, <a class="el" href="klass_8cpp_source.html#l00195">Klass::printMetadata()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, <a class="el" href="eval_8cpp_source.html#l01151">pushNewLayer()</a>, <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00054">rec()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00064">ref()</a>, <a class="el" href="colorize_8cpp_source.html#l00125">setColorProperty()</a>, <a class="el" href="occurrences_8cpp_source.html#l00057">Occurrences::setCount()</a>, <a class="el" href="names_8cpp_source.html#l00060">setDefNameProperty()</a>, <a class="el" href="errormsg_8cpp_source.html#l00066">setDefProp()</a>, <a class="el" href="eval_8cpp_source.html#l00259">setEvalProperty()</a>, <a class="el" href="occurences_8cpp_source.html#l00148">OccMarkup::setOcc()</a>, <a class="el" href="eval_8cpp_source.html#l01302">setPMProperty()</a>, <a class="el" href="sharing_8cpp_source.html#l00075">ScalarCompiler::setSharingCount()</a>, <a class="el" href="doc__sharing_8cpp_source.html#l00081">DocCompiler::setSharingCount()</a>, <a class="el" href="names_8cpp_source.html#l00108">setSigNickname()</a>, <a class="el" href="shlysis_8cpp_source.html#l00069">shprkey()</a>, <a class="el" href="signals_8cpp_source.html#l00285">sigAttach()</a>, <a class="el" href="signals_8cpp_source.html#l00125">sigBinOp()</a>, <a class="el" href="signals_8cpp_source.html#l00198">sigButton()</a>, <a class="el" href="signals_8cpp_source.html#l00204">sigCheckbox()</a>, <a class="el" href="signals_8cpp_source.html#l00057">sigDelay1()</a>, <a class="el" href="signals_8cpp_source.html#l00106">sigDocAccessTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00098">sigDocConstantTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00102">sigDocWriteTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00137">sigFConst()</a>, <a class="el" href="signals_8cpp_source.html#l00132">sigFFun()</a>, <a class="el" href="signals_8cpp_source.html#l00061">sigFixDelay()</a>, <a class="el" href="signals_8cpp_source.html#l00170">sigFloatCast()</a>, <a class="el" href="signals_8cpp_source.html#l00143">sigFVar()</a>, <a class="el" href="signals_8cpp_source.html#l00090">sigGen()</a>, <a class="el" href="signals_8cpp_source.html#l00273">sigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00210">sigHSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00047">sigInput()</a>, <a class="el" href="signals_8cpp_source.html#l00040">sigInt()</a>, <a class="el" href="signals_8cpp_source.html#l00159">sigIntCast()</a>, <a class="el" href="signals_8cpp_source.html#l00069">sigIota()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, <a class="el" href="signals_8cpp_source.html#l00250">sigNumEntry()</a>, <a class="el" href="signals_8cpp_source.html#l00051">sigOutput()</a>, <a class="el" href="signals_8cpp_source.html#l00065">sigPrefix()</a>, <a class="el" href="signals_8cpp_source.html#l00150">sigProj()</a>, <a class="el" href="signals_8cpp_source.html#l00076">sigRDTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00043">sigReal()</a>, <a class="el" href="signals_8cpp_source.html#l00115">sigSelect2()</a>, <a class="el" href="signals_8cpp_source.html#l00118">sigSelect3()</a>, <a class="el" href="signals_8cpp_source.html#l00084">sigTable()</a>, <a class="el" href="signals_8cpp_source.html#l00374">sigTuple()</a>, <a class="el" href="signals_8cpp_source.html#l00379">sigTupleAccess()</a>, <a class="el" href="signals_8cpp_source.html#l00279">sigVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00230">sigVSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00080">sigWRTbl()</a>, <a class="el" href="simplify_8cpp_source.html#l00080">simplification()</a>, <a class="el" href="occurrences_8cpp_source.html#l00067">Occurrences::specificKey()</a>, <a class="el" href="signals_8cpp_source.html#l00297">subNums()</a>, <a class="el" href="list_8cpp_source.html#l00506">subst()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00271">substitute()</a>, <a class="el" href="list_8cpp_source.html#l00496">substkey()</a>, <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>, <a class="el" href="uitree_8cpp_source.html#l00135">uiFolder()</a>, <a class="el" href="uitree_8cpp_source.html#l00140">uiWidget()</a>, <a class="el" href="faustparser_8cpp_source.html#l00104">unquote()</a>, and <a class="el" href="faustparser_8cpp_source.html#l01621">yyparse()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00173"></a>00173 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[1]; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 0, br); } </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="ade36e0f4c45ca9bf2307f972715010c7"></a><!-- doxytag: member="tree.hh::tree2double" ref="ade36e0f4c45ca9bf2307f972715010c7" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double tree2double </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type float, return it otherwise error </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00276">276</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="description_8cpp_source.html#l00247">Description::addWidget()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00277"></a>00277 { <a name="l00278"></a>00278 <span class="keywordtype">double</span> x; <a name="l00279"></a>00279 <span class="keywordtype">int</span> i; <a name="l00280"></a>00280 <a name="l00281"></a>00281 <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &i)) { <a name="l00282"></a>00282 x = double(i); <a name="l00283"></a>00283 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &x)) { <a name="l00284"></a>00284 <span class="comment">//nothing to do</span> <a name="l00285"></a>00285 } <span class="keywordflow">else</span> { <a name="l00286"></a>00286 <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">"the node of the tree is not a float nor an int"</span>, t); <a name="l00287"></a>00287 } <a name="l00288"></a>00288 <span class="keywordflow">return</span> double(x); <a name="l00289"></a>00289 } </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="ad01262fc04f661b162d36b786419a849"></a><!-- doxytag: member="tree.hh::tree2float" ref="ad01262fc04f661b162d36b786419a849" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double tree2float </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type float, return it otherwise error </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00260">260</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l00677">eval2double()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00526">ScalarCompiler::generateHSlider()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00535">ScalarCompiler::generateNumEntry()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00517">ScalarCompiler::generateVSlider()</a>, <a class="el" href="compile_8cpp_source.html#l00327">Compiler::generateWidgetCode()</a>, <a class="el" href="compile_8cpp_source.html#l00450">Compiler::generateWidgetMacro()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, and <a class="el" href="doc__compile_8cpp_source.html#l01293">DocCompiler::prepareIntervallicUI()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00261"></a>00261 { <a name="l00262"></a>00262 <span class="keywordtype">double</span> x; <a name="l00263"></a>00263 <span class="keywordtype">int</span> i; <a name="l00264"></a>00264 <a name="l00265"></a>00265 <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &i)) { <a name="l00266"></a>00266 x = double(i); <a name="l00267"></a>00267 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &x)) { <a name="l00268"></a>00268 <span class="comment">//nothing to do</span> <a name="l00269"></a>00269 } <span class="keywordflow">else</span> { <a name="l00270"></a>00270 <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">"the node of the tree is not a float nor an int"</span>, t); <a name="l00271"></a>00271 } <a name="l00272"></a>00272 <span class="keywordflow">return</span> x; <a name="l00273"></a>00273 } </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="a523bce65e2a281fe678f2362496061cf"></a><!-- doxytag: member="tree.hh::tree2int" ref="a523bce65e2a281fe678f2362496061cf" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int tree2int </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type int, return it otherwise error </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00244">244</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="description_8cpp_source.html#l00210">Description::addGroup()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00056">boxComplexity()</a>, <a class="el" href="eval_8cpp_source.html#l00706">eval2int()</a>, <a class="el" href="prim2_8cpp_source.html#l00069">ffargtype()</a>, <a class="el" href="prim2_8cpp_source.html#l00054">ffrestype()</a>, <a class="el" href="compile_8cpp_source.html#l00279">Compiler::generateUserInterfaceTree()</a>, <a class="el" href="recursivness_8cpp_source.html#l00064">getRecursivness()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00630">infereFConstType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00641">infereFVarType()</a>, and <a class="el" href="boxes_8cpp_source.html#l00454">isBoxPatternMatcher()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00245"></a>00245 { <a name="l00246"></a>00246 <span class="keywordtype">double</span> x; <a name="l00247"></a>00247 <span class="keywordtype">int</span> i; <a name="l00248"></a>00248 <a name="l00249"></a>00249 <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &i)) { <a name="l00250"></a>00250 <span class="comment">// nothing to do</span> <a name="l00251"></a>00251 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &x)) { <a name="l00252"></a>00252 i = int(x); <a name="l00253"></a>00253 } <span class="keywordflow">else</span> { <a name="l00254"></a>00254 <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">"the node of the tree is not an int nor a float"</span>, t); <a name="l00255"></a>00255 } <a name="l00256"></a>00256 <span class="keywordflow">return</span> i; <a name="l00257"></a>00257 } </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="ad1d692b2c0a86d485a3d096af07632e6"></a><!-- doxytag: member="tree.hh::tree2ptr" ref="ad1d692b2c0a86d485a3d096af07632e6" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* tree2ptr </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type ptr, return it otherwise error </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00302">302</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00210">isPointer()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="colorize_8cpp_source.html#l00135">getColorProperty()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="occurences_8cpp_source.html#l00137">OccMarkup::getOcc()</a>, <a class="el" href="boxes_8cpp_source.html#l00454">isBoxPatternMatcher()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00151">isInEnv()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00130">searchEnv()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00303"></a>00303 { <a name="l00304"></a>00304 <span class="keywordtype">void</span>* x; <a name="l00305"></a>00305 <span class="keywordflow">if</span> (! <a class="code" href="node_8hh.html#ad77dd53dfdf27d36a561a7ccbcb27708">isPointer</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &x)) { <a name="l00306"></a>00306 <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">"the node of the tree is not a pointer"</span>, t); <a name="l00307"></a>00307 } <a name="l00308"></a>00308 <span class="keywordflow">return</span> x; <a name="l00309"></a>00309 } </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="ac753d60778175e30a86cba647db017ad"></a><!-- doxytag: member="tree.hh::tree2str" ref="ac753d60778175e30a86cba647db017ad" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* tree2str </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>if t has a node of type symbol, return its name otherwise error </p> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00292">292</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00193">isSym()</a>, <a class="el" href="symbol_8hh_source.html#l00098">name()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p> <p>Referenced by <a class="el" href="description_8cpp_source.html#l00210">Description::addGroup()</a>, <a class="el" href="description_8cpp_source.html#l00247">Description::addWidget()</a>, <a class="el" href="eval_8cpp_source.html#l00974">applyList()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00105">DocCompiler::compileLateq()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00303">declareMetadata()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00277">SourceReader::expandrec()</a>, <a class="el" href="prim2_8cpp_source.html#l00044">ffincfile()</a>, <a class="el" href="prim2_8cpp_source.html#l00049">fflibfile()</a>, <a class="el" href="prim2_8cpp_source.html#l00059">ffname()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00196">DocCompiler::generateCode()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00227">ScalarCompiler::generateCode()</a>, <a class="el" href="drawschema_8cpp_source.html#l00318">generateDiagramSchema()</a>, <a class="el" href="drawschema_8cpp_source.html#l00466">generateInputSlotSchema()</a>, <a class="el" href="drawschema_8cpp_source.html#l00358">generateInsideSchema()</a>, <a class="el" href="compile_8cpp_source.html#l00410">Compiler::generateMacroInterfaceTree()</a>, <a class="el" href="drawschema_8cpp_source.html#l00478">generateOutputSlotSchema()</a>, <a class="el" href="compile_8cpp_source.html#l00279">Compiler::generateUserInterfaceTree()</a>, <a class="el" href="compile_8cpp_source.html#l00327">Compiler::generateWidgetCode()</a>, <a class="el" href="compile_8cpp_source.html#l00450">Compiler::generateWidgetMacro()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01235">DocCompiler::getUIDir()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01319">DocCompiler::getUIDocInfos()</a>, <a class="el" href="doc_8cpp_source.html#l00963">legalFileName()</a>, <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="doc_8cpp_source.html#l00575">mapGetEqName()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="ppbox_8cpp_source.html#l00113">boxpp::print()</a>, <a class="el" href="doc_8cpp_source.html#l00287">printdocheader()</a>, <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, and <a class="el" href="drawschema_8cpp_source.html#l00216">writeSchemaFile()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00293"></a>00293 { <a name="l00294"></a>00294 <a class="code" href="classSymbol.html" title="Symbols are unique objects with a name stored in a hash table.">Sym</a> s; <a name="l00295"></a>00295 <span class="keywordflow">if</span> (!<a class="code" href="node_8hh.html#ab714e75c43d570297ff54578dc7e9ce3">isSym</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &s)) { <a name="l00296"></a>00296 <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">"the node of the tree is not a symbol"</span>, t); <a name="l00297"></a>00297 } <a name="l00298"></a>00298 <span class="keywordflow">return</span> <a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>(s); <a name="l00299"></a>00299 } </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="ae6da444b930bc1b8eed51bd15108e5e2"></a><!-- doxytag: member="tree.hh::updateAperture" ref="ae6da444b930bc1b8eed51bd15108e5e2" args="(Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void updateAperture </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</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="recursive-tree_8cpp_source.html#l00320">320</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p> <p>References <a class="el" href="recursive-tree_8cpp_source.html#l00328">markOpen()</a>, and <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00321"></a>00321 { <a name="l00322"></a>00322 <a class="code" href="recursive-tree_8cpp.html#a3ab4f44f961339b489f4a6289e8c6150">markOpen</a>(t); <a name="l00323"></a>00323 <a class="code" href="recursive-tree_8cpp.html#a9f4f307fe5880833a420d751e62779f0">recomputeAperture</a>(t, NULL); <a name="l00324"></a>00324 } </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="a31f92fc27ddbbae324cab50a245fee73"></a><!-- doxytag: member="tree.hh::TABBER" ref="a31f92fc27ddbbae324cab50a245fee73" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTabber.html">Tabber</a> <a class="el" href="tree_8hh.html#a31f92fc27ddbbae324cab50a245fee73">TABBER</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="tree_8cpp_source.html#l00087">87</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p> <p>Referenced by <a class="el" href="simplify_8cpp_source.html#l00046">traced_simplification()</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:16 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>