<!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: num Class 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 class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>num Class Reference</h1><!-- doxytag: class="num" --> <p><code>#include <<a class="el" href="num_8hh_source.html">num.hh</a>></code></p> <p><a href="classnum-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#a458187013d2bcd1abb167db2995c9e71">num</a> (int x=0)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#af0ea769b8ae96d11d53d778aeb9babd1">num</a> (double x)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#adfcf2056510597deb06d9e5bdc870ba3">num</a> (const <a class="el" href="classnum.html">num</a> &n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnum.html">num</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#ae780bd2d507a1737a27b5d8521f68191">operator=</a> (int n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnum.html">num</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#a6a87aa4b48a1a0a3b4d980d589569c14">operator=</a> (double n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#a84a82f8a4348272d52386584bd9706fa">operator==</a> (const <a class="el" href="classnum.html">num</a> &n) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#a54ed7807fbd38b60b181155b561ab0c4">operator!=</a> (const <a class="el" href="classnum.html">num</a> &n) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#ac186f7b6c2df2eae0f001467e3480610">type</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#afd4f002d9ee16c1ad5264f6feca204a9">operator int</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#a163d8519c1ab8ec2d2f773ac6d1e968d">operator double</a> () const </td></tr> <tr><td colspan="2"><h2>Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a></td></tr> <tr><td class="memItemLeft" >union {</td></tr> <tr><td class="memItemLeft" > int <a class="el" href="classnum.html#ad3286e9c197ae6742262404f33366889">i</a></td></tr> <tr><td class="memItemLeft" > double <a class="el" href="classnum.html#aa3a9099568275125f136af06a396d018">f</a></td></tr> <tr><td class="memItemLeft" valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Definition at line <a class="el" href="num_8hh_source.html#l00058">58</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a458187013d2bcd1abb167db2995c9e71"></a><!-- doxytag: member="num::num" ref="a458187013d2bcd1abb167db2995c9e71" args="(int x=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">num::num </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>x</em> = <code>0</code></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00068">68</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00068"></a>00068 : <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>(0) { <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i = x; } </pre></div></p> </div> </div> <a class="anchor" id="af0ea769b8ae96d11d53d778aeb9babd1"></a><!-- doxytag: member="num::num" ref="af0ea769b8ae96d11d53d778aeb9babd1" args="(double x)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">num::num </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>x</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00070">70</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00070"></a>00070 : <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>(1) { <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.f = x; } </pre></div></p> </div> </div> <a class="anchor" id="adfcf2056510597deb06d9e5bdc870ba3"></a><!-- doxytag: member="num::num" ref="adfcf2056510597deb06d9e5bdc870ba3" args="(const num &n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">num::num </td> <td>(</td> <td class="paramtype">const <a class="el" href="classnum.html">num</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="num_8hh_source.html#l00071">71</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, and <a class="el" href="num_8hh_source.html#l00062">i</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00071"></a>00071 : <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>(n.<a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>) { <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i = n.<a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.<a class="code" href="classnum.html#ad3286e9c197ae6742262404f33366889">i</a>; } </pre></div></p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a163d8519c1ab8ec2d2f773ac6d1e968d"></a><!-- doxytag: member="num::operator double" ref="a163d8519c1ab8ec2d2f773ac6d1e968d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">num::operator double </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00083">83</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, and <a class="el" href="num_8hh_source.html#l00060">fType</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 { <span class="keywordflow">return</span> (<a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>) ? <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.f : double(<a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i); } </pre></div></p> </div> </div> <a class="anchor" id="afd4f002d9ee16c1ad5264f6feca204a9"></a><!-- doxytag: member="num::operator int" ref="afd4f002d9ee16c1ad5264f6feca204a9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">num::operator int </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00082">82</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, and <a class="el" href="num_8hh_source.html#l00060">fType</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00082"></a>00082 { <span class="keywordflow">return</span> (<a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>) ? int(<a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.f) : <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.<a class="code" href="classnum.html#ad3286e9c197ae6742262404f33366889">i</a>; } </pre></div></p> </div> </div> <a class="anchor" id="a54ed7807fbd38b60b181155b561ab0c4"></a><!-- doxytag: member="num::operator!=" ref="a54ed7807fbd38b60b181155b561ab0c4" args="(const num &n) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool num::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classnum.html">num</a> & </td> <td class="paramname"> <em>n</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00078">78</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, <a class="el" href="num_8hh_source.html#l00060">fType</a>, and <a class="el" href="num_8hh_source.html#l00062">i</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00078"></a>00078 { <span class="keywordflow">return</span> <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> != n.<a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> || <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i != n.<a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.<a class="code" href="classnum.html#ad3286e9c197ae6742262404f33366889">i</a>; } </pre></div></p> </div> </div> <a class="anchor" id="a6a87aa4b48a1a0a3b4d980d589569c14"></a><!-- doxytag: member="num::operator=" ref="a6a87aa4b48a1a0a3b4d980d589569c14" args="(double n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classnum.html">num</a>& num::operator= </td> <td>(</td> <td class="paramtype">double </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="num_8hh_source.html#l00074">74</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, and <a class="el" href="num_8hh_source.html#l00060">fType</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00074"></a>00074 { <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> = 1; <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.f = n; <span class="keywordflow">return</span> *<span class="keyword">this</span>; } </pre></div></p> </div> </div> <a class="anchor" id="ae780bd2d507a1737a27b5d8521f68191"></a><!-- doxytag: member="num::operator=" ref="ae780bd2d507a1737a27b5d8521f68191" args="(int n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classnum.html">num</a>& num::operator= </td> <td>(</td> <td class="paramtype">int </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="num_8hh_source.html#l00073">73</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, and <a class="el" href="num_8hh_source.html#l00060">fType</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00073"></a>00073 { <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> = 0; <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i = n; <span class="keywordflow">return</span> *<span class="keyword">this</span>; } </pre></div></p> </div> </div> <a class="anchor" id="a84a82f8a4348272d52386584bd9706fa"></a><!-- doxytag: member="num::operator==" ref="a84a82f8a4348272d52386584bd9706fa" args="(const num &n) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool num::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classnum.html">num</a> & </td> <td class="paramname"> <em>n</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00077">77</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>, <a class="el" href="num_8hh_source.html#l00060">fType</a>, and <a class="el" href="num_8hh_source.html#l00062">i</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00077"></a>00077 { <span class="keywordflow">return</span> <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> == n.<a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a> && <a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.i == n.<a class="code" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">fData</a>.<a class="code" href="classnum.html#ad3286e9c197ae6742262404f33366889">i</a>; } </pre></div></p> </div> </div> <a class="anchor" id="ac186f7b6c2df2eae0f001467e3480610"></a><!-- doxytag: member="num::type" ref="ac186f7b6c2df2eae0f001467e3480610" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int num::type </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00081">81</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>References <a class="el" href="num_8hh_source.html#l00060">fType</a>.</p> <p>Referenced by <a class="el" href="num_8hh_source.html#l00088">isfloat()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00081"></a>00081 { <span class="keywordflow">return</span> <a class="code" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">fType</a>; } </pre></div></p> <p><div class="dynheader"> Here is the caller graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aa3a9099568275125f136af06a396d018"></a><!-- doxytag: member="num::f" ref="aa3a9099568275125f136af06a396d018" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="classnum.html#aa3a9099568275125f136af06a396d018">num::f</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00063">63</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> </div> </div> <a class="anchor" id="ab86279ee9a11c30f7db394f98275b581"></a><!-- doxytag: member="num::fData" ref="ab86279ee9a11c30f7db394f98275b581" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">union { ... } <a class="el" href="classnum.html#ab86279ee9a11c30f7db394f98275b581">num::fData</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="num_8hh_source.html#l00068">num()</a>, <a class="el" href="num_8hh_source.html#l00083">operator double()</a>, <a class="el" href="num_8hh_source.html#l00082">operator int()</a>, <a class="el" href="num_8hh_source.html#l00078">operator!=()</a>, <a class="el" href="num_8hh_source.html#l00073">operator=()</a>, and <a class="el" href="num_8hh_source.html#l00077">operator==()</a>.</p> </div> </div> <a class="anchor" id="aeffed0ce6b5e0057ab6f8b922215fa83"></a><!-- doxytag: member="num::fType" ref="aeffed0ce6b5e0057ab6f8b922215fa83" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classnum.html#aeffed0ce6b5e0057ab6f8b922215fa83">num::fType</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00060">60</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>Referenced by <a class="el" href="num_8hh_source.html#l00083">operator double()</a>, <a class="el" href="num_8hh_source.html#l00082">operator int()</a>, <a class="el" href="num_8hh_source.html#l00078">operator!=()</a>, <a class="el" href="num_8hh_source.html#l00073">operator=()</a>, <a class="el" href="num_8hh_source.html#l00077">operator==()</a>, and <a class="el" href="num_8hh_source.html#l00081">type()</a>.</p> </div> </div> <a class="anchor" id="ad3286e9c197ae6742262404f33366889"></a><!-- doxytag: member="num::i" ref="ad3286e9c197ae6742262404f33366889" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classnum.html#ad3286e9c197ae6742262404f33366889">num::i</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="num_8hh_source.html#l00062">62</a> of file <a class="el" href="num_8hh_source.html">num.hh</a>.</p> <p>Referenced by <a class="el" href="num_8hh_source.html#l00071">num()</a>, <a class="el" href="num_8hh_source.html#l00078">operator!=()</a>, and <a class="el" href="num_8hh_source.html#l00077">operator==()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="num_8hh_source.html">num.hh</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:21 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>