Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 02354f0cc3f53bcda4b77fba3bc4135d > files > 104

lib64qalculate-devel-0.9.7-6mdv2010.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libqalculate-0.9.7: MathFunction Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="classes.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="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>MathFunction Class Reference</h1><!-- doxytag: class="MathFunction" --><!-- doxytag: inherits="ExpressionItem" -->Abstract base class for mathematical functions.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;Function.h&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for MathFunction:</div>
<div class="dynsection">

<p><center><img src="classMathFunction.png" usemap="#MathFunction_map" border="0" alt=""></center>
<map name="MathFunction_map">
<area href="classExpressionItem.html" alt="ExpressionItem" shape="rect" coords="53,0,149,24">
<area href="classDataSet.html" alt="DataSet" shape="rect" coords="0,112,96,136">
<area href="classUserFunction.html" alt="UserFunction" shape="rect" coords="106,112,202,136">
</map>
</div>

<p>
<a href="classMathFunction-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70429d248fd1bf9f1b2d502037ff57b8"></a><!-- doxytag: member="MathFunction::MathFunction" ref="70429d248fd1bf9f1b2d502037ff57b8" args="(string name_, int argc_, int max_argc_=0, string cat_=&quot;&quot;, string title_=&quot;&quot;, string descr_=&quot;&quot;, bool is_active=true)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>MathFunction</b> (string name_, int argc_, int max_argc_=0, string cat_=&quot;&quot;, string title_=&quot;&quot;, string descr_=&quot;&quot;, bool is_active=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85f7c43d0cb41dd10fce977aad2f8acc"></a><!-- doxytag: member="MathFunction::MathFunction" ref="85f7c43d0cb41dd10fce977aad2f8acc" args="(const MathFunction *function)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>MathFunction</b> (const <a class="el" href="classMathFunction.html">MathFunction</a> *function)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5fe84996ebbf846c3ab94248dca62c6f"></a><!-- doxytag: member="MathFunction::copy" ref="5fe84996ebbf846c3ab94248dca62c6f" args="() const =0" -->
virtual <a class="el" href="classExpressionItem.html">ExpressionItem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>copy</b> () const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34a853c688d8bc3d2ed1450e6ed644af"></a><!-- doxytag: member="MathFunction::set" ref="34a853c688d8bc3d2ed1450e6ed644af" args="(const ExpressionItem *item)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="el" href="classExpressionItem.html">ExpressionItem</a> *item)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#5fcfee2c68c2b6bc6c762b6a103ce96a">type</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#1173ab198af529b3a13e7c8ef01d6d1f">subtype</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e19cba05eea6fc94e88cfb6464416eb"></a><!-- doxytag: member="MathFunction::testArgumentCount" ref="6e19cba05eea6fc94e88cfb6464416eb" args="(int itmp)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>testArgumentCount</b> (int itmp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36b6c222ae3e722d9e094bcc90347bcf"></a><!-- doxytag: member="MathFunction::calculate" ref="36b6c222ae3e722d9e094bcc90347bcf" args="(const string &amp;eq, const EvaluationOptions &amp;eo=default_evaluation_options)" -->
virtual <a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>calculate</b> (const string &amp;eq, const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;eo=default_evaluation_options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b526634cf69ddd5f23359a5fb899d402"></a><!-- doxytag: member="MathFunction::parse" ref="b526634cf69ddd5f23359a5fb899d402" args="(const string &amp;eq, const ParseOptions &amp;po=default_parse_options)" -->
virtual <a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>parse</b> (const string &amp;eq, const <a class="el" href="structParseOptions.html">ParseOptions</a> &amp;po=default_parse_options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="634d3037830eb49c81021d74e4ab6d51"></a><!-- doxytag: member="MathFunction::parse" ref="634d3037830eb49c81021d74e4ab6d51" args="(MathStructure &amp;mstruct, const string &amp;eq, const ParseOptions &amp;po=default_parse_options)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>parse</b> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;mstruct, const string &amp;eq, const <a class="el" href="structParseOptions.html">ParseOptions</a> &amp;po=default_parse_options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1895fa7dbc7ef27686b5323f80be5fed"></a><!-- doxytag: member="MathFunction::calculate" ref="1895fa7dbc7ef27686b5323f80be5fed" args="(MathStructure &amp;vargs, const EvaluationOptions &amp;eo=default_evaluation_options)" -->
virtual <a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>calculate</b> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;eo=default_evaluation_options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#5ce71d94adcafa5a2d355c9c56cb0632">calculate</a> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;mstruct, const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;eo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#0074270717bd47293f29e329b093c2f4">condition</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#689c6835dbe0e1220ad31b96c8844d0c">printCondition</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#f2f9981fbf8261a885ae89c29ae3d053">setCondition</a> (string expression)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#e86cd76dfd30c71c0d6713d06961928c">testCondition</a> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#306dda710880c06494a136b2be249d79">args</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#c7fec112842677b8603fd9e02e9716c4">minargs</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#ca9cd30f80c05e660ddfcc0547c770c8">maxargs</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#36de8d67929af086370267db5f6774ba">args</a> (const string &amp;str, <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, const <a class="el" href="structParseOptions.html">ParseOptions</a> &amp;po=default_parse_options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#9b9a901df6e93c6060000cf7e01c9e75">lastArgumentDefinitionIndex</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classArgument.html">Argument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#f77999be40fd233ceae75013ba48e5e9">getArgumentDefinition</a> (size_t index)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#b6e4b5e26c472dc609cde8c3fe2b27c8">clearArgumentDefinitions</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMathFunction.html#21ac51c7ec2484b7ccdc48991a224033">setArgumentDefinition</a> (size_t index, <a class="el" href="classArgument.html">Argument</a> *argdef)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="64e723d78f0b9d505f0a8b9ee26e55ae"></a><!-- doxytag: member="MathFunction::stringArgs" ref="64e723d78f0b9d505f0a8b9ee26e55ae" args="(const string &amp;str, vector&lt; string &gt; &amp;svargs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>stringArgs</b> (const string &amp;str, vector&lt; string &gt; &amp;svargs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d580ca960005e4fdbed37117e77294e"></a><!-- doxytag: member="MathFunction::setDefaultValue" ref="4d580ca960005e4fdbed37117e77294e" args="(size_t arg_, string value_)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setDefaultValue</b> (size_t arg_, string value_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5abb8724d1526f67927989733af1f58"></a><!-- doxytag: member="MathFunction::getDefaultValue" ref="d5abb8724d1526f67927989733af1f58" args="(size_t arg_) const " -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>getDefaultValue</b> (size_t arg_) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="149eab5795a277a4c9fbc42d2807cb5d"></a><!-- doxytag: member="MathFunction::appendDefaultValues" ref="149eab5795a277a4c9fbc42d2807cb5d" args="(MathStructure &amp;vargs)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>appendDefaultValues</b> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05337e69177880209b876c3c760d61fe"></a><!-- doxytag: member="MathFunction::produceVector" ref="05337e69177880209b876c3c760d61fe" args="(const MathStructure &amp;vargs, int begin=-1, int end=-1)" -->
<a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>produceVector</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, int begin=-1, int end=-1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="417ff9dbb8cad8e790a6fc3563bcdc95"></a><!-- doxytag: member="MathFunction::produceArgumentsVector" ref="417ff9dbb8cad8e790a6fc3563bcdc95" args="(const MathStructure &amp;vargs, int begin=-1, int end=-1)" -->
<a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>produceArgumentsVector</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, int begin=-1, int end=-1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85a55b6f66ef64714c17fe921a16238e"></a><!-- doxytag: member="MathFunction::representsPositive" ref="85a55b6f66ef64714c17fe921a16238e" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsPositive</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e04b1a811f5c63915da26e9327a0d92"></a><!-- doxytag: member="MathFunction::representsNegative" ref="0e04b1a811f5c63915da26e9327a0d92" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNegative</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6eebe5424875d19229992174459fda32"></a><!-- doxytag: member="MathFunction::representsNonNegative" ref="6eebe5424875d19229992174459fda32" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNonNegative</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c9cc65372015d29d3c648a7b5bee202"></a><!-- doxytag: member="MathFunction::representsNonPositive" ref="6c9cc65372015d29d3c648a7b5bee202" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNonPositive</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3caed92f1d335d6d04ad572c0d2785b4"></a><!-- doxytag: member="MathFunction::representsInteger" ref="3caed92f1d335d6d04ad572c0d2785b4" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsInteger</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96428f646e3fa6e957dd026784af2edc"></a><!-- doxytag: member="MathFunction::representsNumber" ref="96428f646e3fa6e957dd026784af2edc" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNumber</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d03450d177b89645ba0f7075cf1f98ca"></a><!-- doxytag: member="MathFunction::representsRational" ref="d03450d177b89645ba0f7075cf1f98ca" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsRational</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fe5af2208d93697fbf69af4d122563e"></a><!-- doxytag: member="MathFunction::representsReal" ref="6fe5af2208d93697fbf69af4d122563e" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsReal</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f12c72617e2776e68de624125789715"></a><!-- doxytag: member="MathFunction::representsComplex" ref="7f12c72617e2776e68de624125789715" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsComplex</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee2cbb57dde637e1b9553879c2e430ca"></a><!-- doxytag: member="MathFunction::representsNonZero" ref="ee2cbb57dde637e1b9553879c2e430ca" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNonZero</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e61029f1cbf53233d63c7d4b1c2ef04"></a><!-- doxytag: member="MathFunction::representsEven" ref="0e61029f1cbf53233d63c7d4b1c2ef04" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsEven</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87f7b1f29ac19ccd6c57d8e117465cb0"></a><!-- doxytag: member="MathFunction::representsOdd" ref="87f7b1f29ac19ccd6c57d8e117465cb0" args="(const MathStructure &amp;, bool=false) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsOdd</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;, bool=false) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2a9142ac0c59fa049462e1369b1ca24"></a><!-- doxytag: member="MathFunction::representsUndefined" ref="b2a9142ac0c59fa049462e1369b1ca24" args="(const MathStructure &amp;) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsUndefined</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1a2573828de3e20e2bf086fc4401aef"></a><!-- doxytag: member="MathFunction::representsBoolean" ref="b1a2573828de3e20e2bf086fc4401aef" args="(const MathStructure &amp;) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsBoolean</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36ccd310427d66dec540fb02c654e2c0"></a><!-- doxytag: member="MathFunction::representsNonMatrix" ref="36ccd310427d66dec540fb02c654e2c0" args="(const MathStructure &amp;) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>representsNonMatrix</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;) const </td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27b0b358f3fe8e5c20c5b1fef5a10383"></a><!-- doxytag: member="MathFunction::testArguments" ref="27b0b358f3fe8e5c20c5b1fef5a10383" args="(MathStructure &amp;vargs)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>testArguments</b> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9217753b5e5de5c75b4f767e8d005be2"></a><!-- doxytag: member="MathFunction::createFunctionMathStructureFromVArgs" ref="9217753b5e5de5c75b4f767e8d005be2" args="(const MathStructure &amp;vargs)" -->
virtual <a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>createFunctionMathStructureFromVArgs</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="402f837bf4b0a120aebad486046f8833"></a><!-- doxytag: member="MathFunction::createFunctionMathStructureFromSVArgs" ref="402f837bf4b0a120aebad486046f8833" args="(vector&lt; string &gt; &amp;svargs)" -->
virtual <a class="el" href="classMathStructure.html">MathStructure</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>createFunctionMathStructureFromSVArgs</b> (vector&lt; string &gt; &amp;svargs)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52a5813b7a3ede3b0f3559ee5ab7c7c5"></a><!-- doxytag: member="MathFunction::argc" ref="52a5813b7a3ede3b0f3559ee5ab7c7c5" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>argc</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="485eb8634a2bb09f568f743a88ba79e0"></a><!-- doxytag: member="MathFunction::max_argc" ref="485eb8634a2bb09f568f743a88ba79e0" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_argc</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="307d4ff7ff57a628d1e7ad937ccd4a80"></a><!-- doxytag: member="MathFunction::default_values" ref="307d4ff7ff57a628d1e7ad937ccd4a80" args="" -->
vector&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>default_values</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28c31667fe58a609ba1be270b2c91a9a"></a><!-- doxytag: member="MathFunction::argdefs" ref="28c31667fe58a609ba1be270b2c91a9a" args="" -->
Sgi::hash_map&lt; size_t, <a class="el" href="classArgument.html">Argument</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>argdefs</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c984e82152ce8abfb97585a7a7ccb87"></a><!-- doxytag: member="MathFunction::last_argdef_index" ref="3c984e82152ce8abfb97585a7a7ccb87" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>last_argdef_index</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f8689cb939d704f00b1a03bb5059d8d"></a><!-- doxytag: member="MathFunction::scondition" ref="9f8689cb939d704f00b1a03bb5059d8d" args="" -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>scondition</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract base class for mathematical functions. 
<p>
A mathemical function, subclassed from <a class="el" href="classMathFunction.html" title="Abstract base class for mathematical functions.">MathFunction</a>, should at least reimplement <a class="el" href="classMathFunction.html#5ce71d94adcafa5a2d355c9c56cb0632">calculate(MathStructure&amp;, const MathStructure&amp;, const EvaluationOptions&amp;)</a> and copy(), and preferably also the represents* functions. <a class="el" href="classArgument.html" title="A mathematical function argument definition with free value and base class for all...">Argument</a> definitions should be added in the constructor. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5fcfee2c68c2b6bc6c762b6a103ce96a"></a><!-- doxytag: member="MathFunction::type" ref="5fcfee2c68c2b6bc6c762b6a103ce96a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int MathFunction::type           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the type of the expression item, corresponding to which subclass the object belongs to.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="includes_8h.html#05f1c0afe6f10792534dbd98fbb7541f" title="Type of ExpressionItem.">ExpressionItemType</a>. </dd></dl>

<p>Implements <a class="el" href="classExpressionItem.html#53cbb21250c1c8cc66c6f18a22aa69cf">ExpressionItem</a>.</p>

</div>
</div><p>
<a class="anchor" name="1173ab198af529b3a13e7c8ef01d6d1f"></a><!-- doxytag: member="MathFunction::subtype" ref="1173ab198af529b3a13e7c8ef01d6d1f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int MathFunction::subtype           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the subtype of the mathematical function, corresponding to which subsubclass the object belongs to.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="Function_8h.html#fec0f104510357adbe8df8a9f3a7ce9a" title="Type of mathematical function.">FunctionSubtype</a>. </dd></dl>

<p>Implements <a class="el" href="classExpressionItem.html#b502d8d46b75f60b45e8bcf7dcbf655a">ExpressionItem</a>.</p>

<p>Reimplemented in <a class="el" href="classDataSet.html#f4c05ff6105adc16f4658d4dc3c7e0bb">DataSet</a>, and <a class="el" href="classUserFunction.html#bc53125233703260602bfcb4c3ffb7a5">UserFunction</a>.</p>

</div>
</div><p>
<a class="anchor" name="5ce71d94adcafa5a2d355c9c56cb0632"></a><!-- doxytag: member="MathFunction::calculate" ref="5ce71d94adcafa5a2d355c9c56cb0632" args="(MathStructure &amp;mstruct, const MathStructure &amp;vargs, const EvaluationOptions &amp;eo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int MathFunction::calculate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mstruct</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vargs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eo</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The main function for subclasses to reimplement. Calculates a value from arguments in vargs and puts it in mstruct.<p>
This function expects the number of arguments to be equal to the maximum number of arguments, and checked by the argument definitions.<p>
If the return value is negative, then argument -(return value) has been evaluated in mstruct. If -(return value) is greater than max arguments, then mstruct is a vector of evaluated argument values.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>mstruct</em>&nbsp;</td><td>Structure that is set with the result of the calculation. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vargs</em>&nbsp;</td><td>Arguments passed to the mathematical function. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>eo</em>&nbsp;</td><td>Evaluation options. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the calculation was successful. </dd></dl>

<p>Reimplemented in <a class="el" href="classDataSet.html#2506fe9079ff6f7ac2f0d6c02b322efe">DataSet</a>, and <a class="el" href="classUserFunction.html#eb9215783f3ea3c0dd339a07903bddb3">UserFunction</a>.</p>

</div>
</div><p>
<a class="anchor" name="0074270717bd47293f29e329b093c2f4"></a><!-- doxytag: member="MathFunction::condition" ref="0074270717bd47293f29e329b093c2f4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string MathFunction::condition           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the functions condition expression.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The function's condition expression </dd></dl>

</div>
</div><p>
<a class="anchor" name="689c6835dbe0e1220ad31b96c8844d0c"></a><!-- doxytag: member="MathFunction::printCondition" ref="689c6835dbe0e1220ad31b96c8844d0c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string MathFunction::printCondition           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Print the function's condition expression with argument names.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The printed condition </dd></dl>

</div>
</div><p>
<a class="anchor" name="f2f9981fbf8261a885ae89c29ae3d053"></a><!-- doxytag: member="MathFunction::setCondition" ref="f2f9981fbf8261a885ae89c29ae3d053" args="(string expression)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MathFunction::setCondition           </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>expression</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the functions condition expression.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>expression</em>&nbsp;</td><td>The function's new condition expression </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e86cd76dfd30c71c0d6713d06961928c"></a><!-- doxytag: member="MathFunction::testCondition" ref="e86cd76dfd30c71c0d6713d06961928c" args="(const MathStructure &amp;vargs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool MathFunction::testCondition           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vargs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if arguments fulfil the function's condition expression.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vargs</em>&nbsp;</td><td>Vector with arguments. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the arguments fulfil the function's condition expression </dd></dl>

</div>
</div><p>
<a class="anchor" name="306dda710880c06494a136b2be249d79"></a><!-- doxytag: member="MathFunction::args" ref="306dda710880c06494a136b2be249d79" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MathFunction::args           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the maximum number of arguments that the function accepts or -1 if the number of arguments is unlimited. 
</div>
</div><p>
<a class="anchor" name="c7fec112842677b8603fd9e02e9716c4"></a><!-- doxytag: member="MathFunction::minargs" ref="c7fec112842677b8603fd9e02e9716c4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MathFunction::minargs           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the minimum number of arguments for the function. 
</div>
</div><p>
<a class="anchor" name="ca9cd30f80c05e660ddfcc0547c770c8"></a><!-- doxytag: member="MathFunction::maxargs" ref="ca9cd30f80c05e660ddfcc0547c770c8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MathFunction::maxargs           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the maximum number of arguments that the function accepts or -1 if the number of arguments is unlimited. 
</div>
</div><p>
<a class="anchor" name="36de8d67929af086370267db5f6774ba"></a><!-- doxytag: member="MathFunction::args" ref="36de8d67929af086370267db5f6774ba" args="(const string &amp;str, MathStructure &amp;vargs, const ParseOptions &amp;po=default_parse_options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MathFunction::args           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vargs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structParseOptions.html">ParseOptions</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>po</em> = <code>default_parse_options</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parses arguments from a text string and places them in a vector. The text string should be a comma separated list of arguments.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The argument string to parse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vargs</em>&nbsp;</td><td>Vector to store parsed arguments in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>po</em>&nbsp;</td><td>Parse options. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of parsed arguments. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9b9a901df6e93c6060000cf7e01c9e75"></a><!-- doxytag: member="MathFunction::lastArgumentDefinitionIndex" ref="9b9a901df6e93c6060000cf7e01c9e75" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t MathFunction::lastArgumentDefinitionIndex           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the index of the last argument definition.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The index of the last argument definition </dd></dl>

</div>
</div><p>
<a class="anchor" name="f77999be40fd233ceae75013ba48e5e9"></a><!-- doxytag: member="MathFunction::getArgumentDefinition" ref="f77999be40fd233ceae75013ba48e5e9" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArgument.html">Argument</a>* MathFunction::getArgumentDefinition           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the argument definition for an argument index.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td><a class="el" href="classArgument.html" title="A mathematical function argument definition with free value and base class for all...">Argument</a> index. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The argument definition for the index or NULL if no the argument was not defined for the index </dd></dl>

</div>
</div><p>
<a class="anchor" name="b6e4b5e26c472dc609cde8c3fe2b27c8"></a><!-- doxytag: member="MathFunction::clearArgumentDefinitions" ref="b6e4b5e26c472dc609cde8c3fe2b27c8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MathFunction::clearArgumentDefinitions           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes all argument definitions for the function. 
</div>
</div><p>
<a class="anchor" name="21ac51c7ec2484b7ccdc48991a224033"></a><!-- doxytag: member="MathFunction::setArgumentDefinition" ref="21ac51c7ec2484b7ccdc48991a224033" args="(size_t index, Argument *argdef)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MathFunction::setArgumentDefinition           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArgument.html">Argument</a> *&nbsp;</td>
          <td class="paramname"> <em>argdef</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the argument definition for an argument index.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td><a class="el" href="classArgument.html" title="A mathematical function argument definition with free value and base class for all...">Argument</a> index. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argdef</em>&nbsp;</td><td>A newly allocated argument definition </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>libqalculate/<a class="el" href="Function_8h.html">Function.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jan 5 08:26:29 2010 for libqalculate-0.9.7 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>