<h1>ATDoubleOrDerived.hpp</h1><ahref="ATDoubleOrDerived_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="classATDoubleOrDerived.html#aa58285c31b5c44cbebe0c60f570cd35e">00032</a><spanclass="keyword">typedef</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">RefCountPointer<const ATDoubleOrDerived></a><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">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> abs(<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="l00085"></a>00085 <spanclass="comment">/* Is this xs:double not a number */</span>
<aname="l00092"></a>00092 <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="l00093"></a>00093
<aname="l00095"></a>00095 <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;