<ahref="ATDecimalOrDerived_8hpp.html">Go to the documentation of this file.</a><divclass="fragment"><preclass="fragment"><aname="l00001"></a>00001 <spanclass="comment">/*</span>
<aname="l00032"></a><aclass="code"href="classATDecimalOrDerived.html#a0b1555bfa58cd651b103a6af6420c848">00032</a><spanclass="keyword">typedef</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">RefCountPointer<const ATDecimalOrDerived></a><aclass="code"href="classATDecimalOrDerived.html#a0b1555bfa58cd651b103a6af6420c848">Ptr</a>;
<aname="l00033"></a>00033
<aname="l00034"></a>00034 <spanclass="comment">/* Get the name of the primitive type (basic type) of this type</span>
<aname="l00035"></a>00035 <spanclass="comment"> * (ie "decimal" for xs:decimal) */</span>
<aname="l00047"></a>00047 <spanclass="comment">/* Promote this to the given type, if possible */</span>
<aname="l00048"></a>00048 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a6249bd37b1f057ca3000a28f56770201">promoteTypeIfApplicable</a>(<aclass="code"href="classAnyAtomicType.html#a289c5db5e82b40c2f3e53af7d472f14c">AnyAtomicType::AtomicObjectType</a> typeIndex,
<aname="l00052"></a>00052 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ab1462f1dc6b665c950715a7b520a8132"title="Returns a Numeric object which is the sum of this and other.">add</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&other, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00053"></a>00053
<aname="l00056"></a>00056 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a8e7acbf3e78e54ab8c7cceb684c7acee"title="Returns a Numeric object which is the difference of this and other.">subtract</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&other, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00057"></a>00057
<aname="l00059"></a>00059 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ae4fa9f61ddd156a476f84502556b8d1e"title="Returns a Numeric object which is the product of this and other.">multiply</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&other, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00060"></a>00060
<aname="l00062"></a>00062 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a1fbd618bf4b0651f6d928d6467a3dc7c"title="Returns a Numeric object which is the quotient of this and other.">divide</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&other, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00063"></a>00063
<aname="l00065"></a>00065 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ac790694e40584df141c6e47b415ec9d3"title="Returns the arithmetic product of its operands as a Numeric.">mod</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&other, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00066"></a>00066
<aname="l00068"></a>00068 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ae2c1fc61e202609f03d5f1ba31117514"title="Returns the floor of this Numeric.">floor</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00069"></a>00069
<aname="l00071"></a>00071 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a6008e738cad1b7bef5bfab6a5e502d90"title="Returns the ceiling of this Numeric.">ceiling</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00072"></a>00072
<aname="l00074"></a>00074 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a19a6c416cdbbe09188350650dcc270f4"title="Rounds this Numeric.">round</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00075"></a>00075
<aname="l00077"></a>00077 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a7b9cdc8c8fde1b076e467054444a9639"title="Rounds this Numeric to the given precision, and rounds a half to even.">roundHalfToEven</a>(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a>&precision, <spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00078"></a>00078
<aname="l00080"></a>00080 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a4cadcee0d61d7f42520d7a75981756cc"title="Returns the Additive inverse of this Numeric.">invert</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00081"></a>00081
<aname="l00083"></a>00083 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ae985b72033cd05fa363504d8d526573d"title="Returns the absolute value of this Numeric.">abs</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00084"></a>00084
<aname="l00086"></a>00086 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a2b717aab642eeb88240ba1481a4d2e3f"title="Returns the squart root of this Numeric.">sqrt</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00087"></a>00087
<aname="l00089"></a>00089 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ae93db6935939a58089bdbc16391ecb6f"title="Returns the sin of this Numeric.">sin</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00090"></a>00090
<aname="l00092"></a>00092 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a8cec590f495cea55a6a7be3bdb7d4453"title="Returns the cos root of this Numeric.">cos</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00093"></a>00093
<aname="l00095"></a>00095 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a6545cabe8ecb876e4b0e35504c34c91d"title="Returns the tan of this Numeric.">tan</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00096"></a>00096
<aname="l00098"></a>00098 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a26d4a72e417019b15e3cce47c6de3bb8"title="Returns the asin of this Numeric.">asin</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00099"></a>00099
<aname="l00101"></a>00101 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a6b0100c13de01e2e35937698eaaec8fa"title="Returns the acos of this Numeric.">acos</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00102"></a>00102
<aname="l00104"></a>00104 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#ad83d41e0d95076e37860b81693856fde"title="Returns the atan of this Numeric.">atan</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00105"></a>00105
<aname="l00107"></a>00107 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#aa56afddb69e8ee7bfb564f03546b329b"title="Returns the ln of this Numeric.">log</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00110"></a>00110 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Numeric::Ptr</a><aclass="code"href="classNumeric.html#a8486aada31ff17541741e3bf4ab67b6e"title="Returns the exp of this Numeric.">exp</a>(<spanclass="keyword">const</span><aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a>* context) <spanclass="keyword">const</span> = 0;
<aname="l00113"></a>00113 <spanclass="keyword">virtual</span><spanclass="keywordtype">bool</span><aclass="code"href="classNumeric.html#a2b1e0881d6c31a9ab6b33b5474aae817"title="Does this Numeric have value 0?">isZero</a>() <spanclass="keyword">const</span> = 0;
<aname="l00114"></a>00114
<aname="l00116"></a>00116 <spanclass="keyword">virtual</span><spanclass="keywordtype">bool</span><aclass="code"href="classNumeric.html#a6b0787ad3ff85fc99a3672732b495ae6"title="Is this Numeric negative?">isNegative</a>() <spanclass="keyword">const</span> = 0;
<aname="l00117"></a>00117
<aname="l00119"></a>00119 <spanclass="keyword">virtual</span><spanclass="keywordtype">bool</span><aclass="code"href="classNumeric.html#acdfbdc8ac9856ba2bd83e3d01f615687"title="Is this Numeric positive?">isPositive</a>() <spanclass="keyword">const</span> = 0;
<aname="l00120"></a>00120
<aname="l00121"></a>00121 <spanclass="comment">/* Is this floating point value not a number? */</span>