<!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>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>DoubleSupport.hpp</h1>  </div>
</div>
<div class="contents">
<a href="DoubleSupport_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define DOUBLESUPPORT_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#if defined(_MSC_VER)</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include &lt;float.h&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#endif</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;functional&gt;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <a class="code" href="XSLTProcessor_8hpp.html#a24af2755e58bade5ff0d5965b855e56a">XALAN_USING_XERCES</a>(MemoryManager)
<a name="l00045"></a>00045 
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="comment">// A class to help us support IEEE 754.</span>
<a name="l00049"></a><a class="code" href="classDoubleSupport.html">00049</a> class <a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classDoubleSupport.html">DoubleSupport</a>
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">public</span>:
<a name="l00052"></a>00052 <span class="comment"></span>
<a name="l00053"></a>00053 <span class="comment">    /**</span>
<a name="l00054"></a>00054 <span class="comment">     * Perform static initialization.  See class PlatformSupportInit.</span>
<a name="l00055"></a>00055 <span class="comment">     *</span>
<a name="l00056"></a>00056 <span class="comment">     */</span>
<a name="l00057"></a>00057     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00058"></a>00058     initialize();
<a name="l00059"></a>00059  <span class="comment"></span>
<a name="l00060"></a>00060 <span class="comment">    /**</span>
<a name="l00061"></a>00061 <span class="comment">     * Perform static shut down.  See class PlatformSupportInit.</span>
<a name="l00062"></a>00062 <span class="comment">     */</span>
<a name="l00063"></a>00063     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00064"></a>00064     <a class="code" href="XalanDOMString_8hpp.html#a392a1168a4c055ef750608dde287a874">terminate</a>();
<a name="l00065"></a>00065 
<a name="l00066"></a>00066 
<a name="l00067"></a>00067     <span class="comment">// Use these functions to determine if a value represents one of these</span>
<a name="l00068"></a>00068     <span class="comment">// special values.  On some platforms, regular C/C++ operators don&#39;t work</span>
<a name="l00069"></a>00069     <span class="comment">// as we need them too, so we have these helper functions.</span>
<a name="l00070"></a>00070 <span class="comment"></span>
<a name="l00071"></a>00071 <span class="comment">    /**</span>
<a name="l00072"></a>00072 <span class="comment">     * Determine if target is not a number</span>
<a name="l00073"></a>00073 <span class="comment">     * </span>
<a name="l00074"></a>00074 <span class="comment">     * @param theNumber target number</span>
<a name="l00075"></a>00075 <span class="comment">     * @return true if target represents the &quot;not a number&quot; value</span>
<a name="l00076"></a>00076 <span class="comment">     */</span>
<a name="l00077"></a>00077     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00078"></a><a class="code" href="classDoubleSupport.html#a0b9244a041282ab8cf93488485774439">00078</a>     isNaN(<span class="keywordtype">double</span>    theNumber)
<a name="l00079"></a>00079     {
<a name="l00080"></a>00080 <span class="preprocessor">#if defined(_MSC_VER)</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span>        <span class="keywordflow">return</span> _isnan(theNumber) != 0;
<a name="l00082"></a>00082 <span class="preprocessor">#elif defined(XALAN_POSIX2_AVAILABLE) &amp;&amp; !defined(CYGWIN) &amp;&amp; !defined(MINGW)</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>        <span class="keywordflow">return</span> isnan(theNumber) != 0;
<a name="l00084"></a>00084 <span class="preprocessor">#else</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span>        <span class="keywordflow">return</span> s_NaN == theNumber;
<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span>    }
<a name="l00088"></a>00088 <span class="comment"></span>
<a name="l00089"></a>00089 <span class="comment">    /**</span>
<a name="l00090"></a>00090 <span class="comment">     * Determine if target is positive infinity</span>
<a name="l00091"></a>00091 <span class="comment">     * </span>
<a name="l00092"></a>00092 <span class="comment">     * @param theNumber target number</span>
<a name="l00093"></a>00093 <span class="comment">     * @return true if target represents the value for positive infinity</span>
<a name="l00094"></a>00094 <span class="comment">     */</span>
<a name="l00095"></a>00095     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00096"></a><a class="code" href="classDoubleSupport.html#af27e366b5f2a7ac3d95cdfbd670de033">00096</a>     isPositiveInfinity(<span class="keywordtype">double</span>   theNumber)
<a name="l00097"></a>00097     {
<a name="l00098"></a>00098         <span class="keywordflow">return</span> s_positiveInfinity == theNumber;
<a name="l00099"></a>00099     }
<a name="l00100"></a>00100 <span class="comment"></span>
<a name="l00101"></a>00101 <span class="comment">    /**</span>
<a name="l00102"></a>00102 <span class="comment">     * Determine if target is negative infinity</span>
<a name="l00103"></a>00103 <span class="comment">     * </span>
<a name="l00104"></a>00104 <span class="comment">     * @param theNumber target number</span>
<a name="l00105"></a>00105 <span class="comment">     * @return true if target represents the value for negative infinity</span>
<a name="l00106"></a>00106 <span class="comment">     */</span>
<a name="l00107"></a>00107     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00108"></a><a class="code" href="classDoubleSupport.html#a58be33f5268a6a15677b751c66d17f38">00108</a>     isNegativeInfinity(<span class="keywordtype">double</span>   theNumber)
<a name="l00109"></a>00109     {
<a name="l00110"></a>00110         <span class="keywordflow">return</span> s_negativeInfinity == theNumber;
<a name="l00111"></a>00111     }
<a name="l00112"></a>00112 <span class="comment"></span>
<a name="l00113"></a>00113 <span class="comment">    /**</span>
<a name="l00114"></a>00114 <span class="comment">     * Determine if target is positive 0.</span>
<a name="l00115"></a>00115 <span class="comment">     * </span>
<a name="l00116"></a>00116 <span class="comment">     * @param theNumber target number</span>
<a name="l00117"></a>00117 <span class="comment">     * @return true if target represents the value for positive 0.</span>
<a name="l00118"></a>00118 <span class="comment">     */</span>
<a name="l00119"></a>00119     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00120"></a><a class="code" href="classDoubleSupport.html#a143f860115c3127637ea2f357343840f">00120</a>     isPositiveZero(<span class="keywordtype">double</span>   theNumber)
<a name="l00121"></a>00121     {
<a name="l00122"></a>00122         <span class="keywordflow">return</span> s_positiveZero == theNumber;
<a name="l00123"></a>00123     }
<a name="l00124"></a>00124 <span class="comment"></span>
<a name="l00125"></a>00125 <span class="comment">    /**</span>
<a name="l00126"></a>00126 <span class="comment">     * Determine if target is negative 0</span>
<a name="l00127"></a>00127 <span class="comment">     * </span>
<a name="l00128"></a>00128 <span class="comment">     * @param theNumber target number</span>
<a name="l00129"></a>00129 <span class="comment">     * @return true if target represents the value for negative 0</span>
<a name="l00130"></a>00130 <span class="comment">     */</span>
<a name="l00131"></a>00131     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00132"></a><a class="code" href="classDoubleSupport.html#ad8c454634dce5f10bc92eebbbc66f4c1">00132</a>     isNegativeZero(<span class="keywordtype">double</span>   theNumber)
<a name="l00133"></a>00133     {
<a name="l00134"></a>00134         <span class="keywordflow">return</span> s_negativeZero == theNumber;
<a name="l00135"></a>00135     }
<a name="l00136"></a>00136 
<a name="l00137"></a>00137     <span class="comment">// These can be used to initialize values, but should not</span>
<a name="l00138"></a>00138     <span class="comment">// be used to do equality comparisons, as == may fail on</span>
<a name="l00139"></a>00139     <span class="comment">// some platforms.</span>
<a name="l00140"></a>00140     <span class="comment">//</span>
<a name="l00141"></a>00141 <span class="comment"></span>
<a name="l00142"></a>00142 <span class="comment">    /**</span>
<a name="l00143"></a>00143 <span class="comment">     * Double value that represents &quot;not a number&quot;</span>
<a name="l00144"></a>00144 <span class="comment">     * </span>
<a name="l00145"></a>00145 <span class="comment">     * @return &quot;not a number&quot; value</span>
<a name="l00146"></a>00146 <span class="comment">     */</span>
<a name="l00147"></a>00147     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00148"></a><a class="code" href="classDoubleSupport.html#af839b75f64fbbd0b96207f7cb5fe8b37">00148</a>     getNaN()
<a name="l00149"></a>00149     {
<a name="l00150"></a>00150         <span class="keywordflow">return</span> s_NaN.d;
<a name="l00151"></a>00151     }
<a name="l00152"></a>00152 <span class="comment"></span>
<a name="l00153"></a>00153 <span class="comment">    /**</span>
<a name="l00154"></a>00154 <span class="comment">     * Double value that represents positive infinity</span>
<a name="l00155"></a>00155 <span class="comment">     * </span>
<a name="l00156"></a>00156 <span class="comment">     * @return positive infinity value</span>
<a name="l00157"></a>00157 <span class="comment">     */</span>
<a name="l00158"></a>00158     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00159"></a><a class="code" href="classDoubleSupport.html#ae73d28fa0c511a33ef2915884214f86b">00159</a>     getPositiveInfinity()
<a name="l00160"></a>00160     {
<a name="l00161"></a>00161         <span class="keywordflow">return</span> s_positiveInfinity.d;
<a name="l00162"></a>00162     }
<a name="l00163"></a>00163 <span class="comment"></span>
<a name="l00164"></a>00164 <span class="comment">    /**</span>
<a name="l00165"></a>00165 <span class="comment">     * Double value that represents negative infinity</span>
<a name="l00166"></a>00166 <span class="comment">     * </span>
<a name="l00167"></a>00167 <span class="comment">     * @return negative infinity value</span>
<a name="l00168"></a>00168 <span class="comment">     */</span>
<a name="l00169"></a>00169     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00170"></a><a class="code" href="classDoubleSupport.html#afae4039d63ecb93a4057acd6345aacad">00170</a>     getNegativeInfinity()
<a name="l00171"></a>00171     {
<a name="l00172"></a>00172         <span class="keywordflow">return</span> s_negativeInfinity.d;
<a name="l00173"></a>00173     }
<a name="l00174"></a>00174 <span class="comment"></span>
<a name="l00175"></a>00175 <span class="comment">    /**</span>
<a name="l00176"></a>00176 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00177"></a>00177 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00178"></a>00178 <span class="comment">     *</span>
<a name="l00179"></a>00179 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00180"></a>00180 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00181"></a>00181 <span class="comment">     * @return the result of the compare</span>
<a name="l00182"></a>00182 <span class="comment">     */</span>
<a name="l00183"></a>00183     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00184"></a>00184     equal(
<a name="l00185"></a>00185             <span class="keywordtype">double</span>  theLHS,
<a name="l00186"></a>00186             <span class="keywordtype">double</span>  theRHS);
<a name="l00187"></a>00187 <span class="comment"></span>
<a name="l00188"></a>00188 <span class="comment">    /**</span>
<a name="l00189"></a>00189 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00190"></a>00190 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00191"></a>00191 <span class="comment">     *</span>
<a name="l00192"></a>00192 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00193"></a>00193 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00194"></a>00194 <span class="comment">     * @return the result of the compare</span>
<a name="l00195"></a>00195 <span class="comment">     */</span>
<a name="l00196"></a>00196     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00197"></a><a class="code" href="classDoubleSupport.html#a3bc5a5d8ba58e0682a904d120e655fdd">00197</a>     notEqual(
<a name="l00198"></a>00198             <span class="keywordtype">double</span>  theLHS,
<a name="l00199"></a>00199             <span class="keywordtype">double</span>  theRHS)
<a name="l00200"></a>00200     {
<a name="l00201"></a>00201         <span class="keywordflow">return</span> !equal(theLHS, theRHS);
<a name="l00202"></a>00202     }
<a name="l00203"></a>00203 <span class="comment"></span>
<a name="l00204"></a>00204 <span class="comment">    /**</span>
<a name="l00205"></a>00205 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00206"></a>00206 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00207"></a>00207 <span class="comment">     *</span>
<a name="l00208"></a>00208 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00209"></a>00209 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00210"></a>00210 <span class="comment">     * @return the result of the compare</span>
<a name="l00211"></a>00211 <span class="comment">     */</span>
<a name="l00212"></a>00212     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00213"></a>00213     lessThan(
<a name="l00214"></a>00214             <span class="keywordtype">double</span>  theLHS,
<a name="l00215"></a>00215             <span class="keywordtype">double</span>  theRHS);
<a name="l00216"></a>00216 <span class="comment"></span>
<a name="l00217"></a>00217 <span class="comment">    /**</span>
<a name="l00218"></a>00218 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00219"></a>00219 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00220"></a>00220 <span class="comment">     *</span>
<a name="l00221"></a>00221 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00222"></a>00222 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00223"></a>00223 <span class="comment">     * @return the result of the compare</span>
<a name="l00224"></a>00224 <span class="comment">     */</span>
<a name="l00225"></a>00225     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00226"></a>00226     lessThanOrEqual(
<a name="l00227"></a>00227             <span class="keywordtype">double</span>  theLHS,
<a name="l00228"></a>00228             <span class="keywordtype">double</span>  theRHS);
<a name="l00229"></a>00229 <span class="comment"></span>
<a name="l00230"></a>00230 <span class="comment">    /**</span>
<a name="l00231"></a>00231 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00232"></a>00232 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00233"></a>00233 <span class="comment">     *</span>
<a name="l00234"></a>00234 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00235"></a>00235 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00236"></a>00236 <span class="comment">     * @return the result of the compare</span>
<a name="l00237"></a>00237 <span class="comment">     */</span>
<a name="l00238"></a>00238     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00239"></a>00239     greaterThan(
<a name="l00240"></a>00240             <span class="keywordtype">double</span>  theLHS,
<a name="l00241"></a>00241             <span class="keywordtype">double</span>  theRHS);
<a name="l00242"></a>00242 <span class="comment"></span>
<a name="l00243"></a>00243 <span class="comment">    /**</span>
<a name="l00244"></a>00244 <span class="comment">     * Compare two double values, taking into account</span>
<a name="l00245"></a>00245 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00246"></a>00246 <span class="comment">     *</span>
<a name="l00247"></a>00247 <span class="comment">     * @param theLHS a number to compare</span>
<a name="l00248"></a>00248 <span class="comment">     * @param theRHS a number to compare</span>
<a name="l00249"></a>00249 <span class="comment">     * @return the result of the compare</span>
<a name="l00250"></a>00250 <span class="comment">     */</span>
<a name="l00251"></a>00251     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00252"></a>00252     greaterThanOrEqual(
<a name="l00253"></a>00253             <span class="keywordtype">double</span>  theLHS,
<a name="l00254"></a>00254             <span class="keywordtype">double</span>  theRHS);
<a name="l00255"></a>00255 <span class="comment"></span>
<a name="l00256"></a>00256 <span class="comment">    /**</span>
<a name="l00257"></a>00257 <span class="comment">     * Add two double values, taking into account</span>
<a name="l00258"></a>00258 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00259"></a>00259 <span class="comment">     *</span>
<a name="l00260"></a>00260 <span class="comment">     * @param theLHS a number to add</span>
<a name="l00261"></a>00261 <span class="comment">     * @param theRHS a number to add</span>
<a name="l00262"></a>00262 <span class="comment">     * @return the result of the addition</span>
<a name="l00263"></a>00263 <span class="comment">     */</span>
<a name="l00264"></a>00264     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00265"></a>00265     add(
<a name="l00266"></a>00266             <span class="keywordtype">double</span>  theLHS,
<a name="l00267"></a>00267             <span class="keywordtype">double</span>  theRHS);
<a name="l00268"></a>00268 <span class="comment"></span>
<a name="l00269"></a>00269 <span class="comment">    /**</span>
<a name="l00270"></a>00270 <span class="comment">     * Subtract two double values, taking into account</span>
<a name="l00271"></a>00271 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00272"></a>00272 <span class="comment">     *</span>
<a name="l00273"></a>00273 <span class="comment">     * @param theLHS a number to subtract</span>
<a name="l00274"></a>00274 <span class="comment">     * @param theRHS a number to subtract</span>
<a name="l00275"></a>00275 <span class="comment">     * @return the result of the subtraction</span>
<a name="l00276"></a>00276 <span class="comment">     */</span>
<a name="l00277"></a>00277     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00278"></a>00278     subtract(
<a name="l00279"></a>00279             <span class="keywordtype">double</span>  theLHS,
<a name="l00280"></a>00280             <span class="keywordtype">double</span>  theRHS);
<a name="l00281"></a>00281 <span class="comment"></span>
<a name="l00282"></a>00282 <span class="comment">    /**</span>
<a name="l00283"></a>00283 <span class="comment">     * Multiply two double values, taking into account</span>
<a name="l00284"></a>00284 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00285"></a>00285 <span class="comment">     *</span>
<a name="l00286"></a>00286 <span class="comment">     * @param theLHS a number to multiply</span>
<a name="l00287"></a>00287 <span class="comment">     * @param theRHS a number to multiply</span>
<a name="l00288"></a>00288 <span class="comment">     * @return the result of the multiplication</span>
<a name="l00289"></a>00289 <span class="comment">     */</span>
<a name="l00290"></a>00290     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00291"></a>00291     multiply(
<a name="l00292"></a>00292             <span class="keywordtype">double</span>  theLHS,
<a name="l00293"></a>00293             <span class="keywordtype">double</span>  theRHS);
<a name="l00294"></a>00294 <span class="comment"></span>
<a name="l00295"></a>00295 <span class="comment">    /**</span>
<a name="l00296"></a>00296 <span class="comment">     * Divide two double values, taking into account</span>
<a name="l00297"></a>00297 <span class="comment">     * the fact that we must support IEEE 754</span>
<a name="l00298"></a>00298 <span class="comment">     *</span>
<a name="l00299"></a>00299 <span class="comment">     * @param theLHS a number to divide</span>
<a name="l00300"></a>00300 <span class="comment">     * @param theRHS a number to divide</span>
<a name="l00301"></a>00301 <span class="comment">     * @return the result of the division</span>
<a name="l00302"></a>00302 <span class="comment">     */</span>
<a name="l00303"></a>00303     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00304"></a>00304     divide(
<a name="l00305"></a>00305             <span class="keywordtype">double</span>  theLHS,
<a name="l00306"></a>00306             <span class="keywordtype">double</span>  theRHS);
<a name="l00307"></a>00307 <span class="comment"></span>
<a name="l00308"></a>00308 <span class="comment">    /**</span>
<a name="l00309"></a>00309 <span class="comment">     * Determine the modulus two double values,</span>
<a name="l00310"></a>00310 <span class="comment">     * taking into account the fact that we must</span>
<a name="l00311"></a>00311 <span class="comment">     * support IEEE 754</span>
<a name="l00312"></a>00312 <span class="comment">     *</span>
<a name="l00313"></a>00313 <span class="comment">     * @param theLHS a number to divide</span>
<a name="l00314"></a>00314 <span class="comment">     * @param theRHS a number to divide</span>
<a name="l00315"></a>00315 <span class="comment">     * @return the result of the modulus</span>
<a name="l00316"></a>00316 <span class="comment">     */</span>
<a name="l00317"></a>00317     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00318"></a>00318     modulus(
<a name="l00319"></a>00319             <span class="keywordtype">double</span>  theLHS,
<a name="l00320"></a>00320             <span class="keywordtype">double</span>  theRHS);
<a name="l00321"></a>00321 <span class="comment"></span>
<a name="l00322"></a>00322 <span class="comment">    /**</span>
<a name="l00323"></a>00323 <span class="comment">     * Determine the negative of a double value,</span>
<a name="l00324"></a>00324 <span class="comment">     * taking into account the fact that we must</span>
<a name="l00325"></a>00325 <span class="comment">     * support IEEE 754</span>
<a name="l00326"></a>00326 <span class="comment">     *</span>
<a name="l00327"></a>00327 <span class="comment">     * @param theDouble a number to negate</span>
<a name="l00328"></a>00328 <span class="comment">     * @return the result of the negation</span>
<a name="l00329"></a>00329 <span class="comment">     */</span>
<a name="l00330"></a>00330     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00331"></a>00331     negative(<span class="keywordtype">double</span> theDouble);
<a name="l00332"></a>00332 <span class="comment"></span>
<a name="l00333"></a>00333 <span class="comment">    /**</span>
<a name="l00334"></a>00334 <span class="comment">     * Return  the absolute value of theDouble. If theDouble is NaN,</span>
<a name="l00335"></a>00335 <span class="comment">     * NaN is returned </span>
<a name="l00336"></a>00336 <span class="comment">     *</span>
<a name="l00337"></a>00337 <span class="comment">     * @param theDouble a number to fabs</span>
<a name="l00338"></a>00338 <span class="comment">     * @return the result of the fabs</span>
<a name="l00339"></a>00339 <span class="comment">     */</span>
<a name="l00340"></a>00340     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00341"></a>00341     abs(<span class="keywordtype">double</span> theDouble);
<a name="l00342"></a>00342 
<a name="l00343"></a>00343     <span class="comment">// Some functors to do the same thing.  This is for</span>
<a name="l00344"></a>00344     <span class="comment">// STL integration...</span>
<a name="l00345"></a>00345 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00346"></a>00346 <span class="preprocessor"></span>    <span class="keyword">struct </span>equalFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00347"></a>00347 <span class="preprocessor">    #else</span>
<a name="l00348"></a><a class="code" href="structDoubleSupport_1_1equalFunction.html">00348</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1equalFunction.html">equalFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00349"></a>00349 <span class="preprocessor">    #endif</span>
<a name="l00350"></a>00350 <span class="preprocessor"></span>    {
<a name="l00351"></a>00351         result_type
<a name="l00352"></a><a class="code" href="structDoubleSupport_1_1equalFunction.html#a1ca465e896edf1f6840313599e5fefb6">00352</a>         operator()(
<a name="l00353"></a>00353             first_argument_type     theLHS,
<a name="l00354"></a>00354             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00355"></a>00355 <span class="keyword">        </span>{
<a name="l00356"></a>00356             <span class="keywordflow">return</span> equal(theLHS, theRHS);
<a name="l00357"></a>00357         }
<a name="l00358"></a>00358     };
<a name="l00359"></a>00359 
<a name="l00360"></a>00360 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00361"></a>00361 <span class="preprocessor"></span>    <span class="keyword">struct </span>notEqualFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00362"></a>00362 <span class="preprocessor">    #else</span>
<a name="l00363"></a><a class="code" href="structDoubleSupport_1_1notEqualFunction.html">00363</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1notEqualFunction.html">notEqualFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00364"></a>00364 <span class="preprocessor">    #endif</span>
<a name="l00365"></a>00365 <span class="preprocessor"></span>    {
<a name="l00366"></a>00366         result_type
<a name="l00367"></a><a class="code" href="structDoubleSupport_1_1notEqualFunction.html#a7b002603f7454991a3e7247b8e3e4c8b">00367</a>         operator()(
<a name="l00368"></a>00368             first_argument_type     theLHS,
<a name="l00369"></a>00369             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00370"></a>00370 <span class="keyword">        </span>{
<a name="l00371"></a>00371             <span class="keywordflow">return</span> notEqual(theLHS, theRHS);
<a name="l00372"></a>00372         }
<a name="l00373"></a>00373     };
<a name="l00374"></a>00374 
<a name="l00375"></a>00375 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00376"></a>00376 <span class="preprocessor"></span>    <span class="keyword">struct </span>lessThanFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00377"></a>00377 <span class="preprocessor">    #else</span>
<a name="l00378"></a><a class="code" href="structDoubleSupport_1_1lessThanFunction.html">00378</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1lessThanFunction.html">lessThanFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00379"></a>00379 <span class="preprocessor">    #endif</span>
<a name="l00380"></a>00380 <span class="preprocessor"></span>    {
<a name="l00381"></a>00381         result_type
<a name="l00382"></a><a class="code" href="structDoubleSupport_1_1lessThanFunction.html#a3474218bc3fe3dcc60367e5963ca36c0">00382</a>         operator()(
<a name="l00383"></a>00383             first_argument_type     theLHS,
<a name="l00384"></a>00384             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00385"></a>00385 <span class="keyword">        </span>{
<a name="l00386"></a>00386             <span class="keywordflow">return</span> lessThan(theLHS, theRHS);
<a name="l00387"></a>00387         }
<a name="l00388"></a>00388     };
<a name="l00389"></a>00389 
<a name="l00390"></a>00390 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00391"></a>00391 <span class="preprocessor"></span>    <span class="keyword">struct </span>lessThanOrEqualFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00392"></a>00392 <span class="preprocessor">    #else</span>
<a name="l00393"></a><a class="code" href="structDoubleSupport_1_1lessThanOrEqualFunction.html">00393</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1lessThanOrEqualFunction.html">lessThanOrEqualFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00394"></a>00394 <span class="preprocessor">    #endif</span>
<a name="l00395"></a>00395 <span class="preprocessor"></span>    {
<a name="l00396"></a>00396         result_type
<a name="l00397"></a><a class="code" href="structDoubleSupport_1_1lessThanOrEqualFunction.html#a5b27a3e8b4eecaf028ac85a45c61222b">00397</a>         operator()(
<a name="l00398"></a>00398             first_argument_type     theLHS,
<a name="l00399"></a>00399             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00400"></a>00400 <span class="keyword">        </span>{
<a name="l00401"></a>00401             <span class="keywordflow">return</span> lessThanOrEqual(theLHS, theRHS);
<a name="l00402"></a>00402         }
<a name="l00403"></a>00403     };
<a name="l00404"></a>00404 
<a name="l00405"></a>00405 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00406"></a>00406 <span class="preprocessor"></span>    <span class="keyword">struct </span>greaterThanFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00407"></a>00407 <span class="preprocessor">    #else</span>
<a name="l00408"></a><a class="code" href="structDoubleSupport_1_1greaterThanFunction.html">00408</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1greaterThanFunction.html">greaterThanFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00409"></a>00409 <span class="preprocessor">    #endif</span>
<a name="l00410"></a>00410 <span class="preprocessor"></span>    {
<a name="l00411"></a>00411         result_type
<a name="l00412"></a><a class="code" href="structDoubleSupport_1_1greaterThanFunction.html#a68bbf92f5e9c6f422e80bb563d201fa8">00412</a>         operator()(
<a name="l00413"></a>00413             first_argument_type     theLHS,
<a name="l00414"></a>00414             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00415"></a>00415 <span class="keyword">        </span>{
<a name="l00416"></a>00416             <span class="keywordflow">return</span> greaterThan(theLHS, theRHS);
<a name="l00417"></a>00417         }
<a name="l00418"></a>00418     };
<a name="l00419"></a>00419 
<a name="l00420"></a>00420 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00421"></a>00421 <span class="preprocessor"></span>    <span class="keyword">struct </span>greaterThanOrEqualFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00422"></a>00422 <span class="preprocessor">    #else</span>
<a name="l00423"></a><a class="code" href="structDoubleSupport_1_1greaterThanOrEqualFunction.html">00423</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1greaterThanOrEqualFunction.html">greaterThanOrEqualFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, bool&gt;
<a name="l00424"></a>00424 <span class="preprocessor">    #endif</span>
<a name="l00425"></a>00425 <span class="preprocessor"></span>    {
<a name="l00426"></a>00426         result_type
<a name="l00427"></a><a class="code" href="structDoubleSupport_1_1greaterThanOrEqualFunction.html#aa332cc1d5f2460cbb0b2c6d1c384535d">00427</a>         operator()(
<a name="l00428"></a>00428             first_argument_type     theLHS,
<a name="l00429"></a>00429             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00430"></a>00430 <span class="keyword">        </span>{
<a name="l00431"></a>00431             <span class="keywordflow">return</span> greaterThanOrEqual(theLHS, theRHS);
<a name="l00432"></a>00432         }
<a name="l00433"></a>00433     };
<a name="l00434"></a>00434 
<a name="l00435"></a>00435 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00436"></a>00436 <span class="preprocessor"></span>    <span class="keyword">struct </span>addFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00437"></a>00437 <span class="preprocessor">    #else</span>
<a name="l00438"></a><a class="code" href="structDoubleSupport_1_1addFunction.html">00438</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1addFunction.html">addFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00439"></a>00439 <span class="preprocessor">    #endif</span>
<a name="l00440"></a>00440 <span class="preprocessor"></span>    {
<a name="l00441"></a>00441         result_type
<a name="l00442"></a><a class="code" href="structDoubleSupport_1_1addFunction.html#a9ee13c4c31f76f6ec9270a3cf3e5a15a">00442</a>         operator()(
<a name="l00443"></a>00443             first_argument_type     theLHS,
<a name="l00444"></a>00444             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00445"></a>00445 <span class="keyword">        </span>{
<a name="l00446"></a>00446             <span class="keywordflow">return</span> add(theLHS, theRHS);
<a name="l00447"></a>00447         }
<a name="l00448"></a>00448     };
<a name="l00449"></a>00449 
<a name="l00450"></a>00450 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00451"></a>00451 <span class="preprocessor"></span>    <span class="keyword">struct </span>subtractFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00452"></a>00452 <span class="preprocessor">    #else</span>
<a name="l00453"></a><a class="code" href="structDoubleSupport_1_1subtractFunction.html">00453</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1subtractFunction.html">subtractFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00454"></a>00454 <span class="preprocessor">    #endif</span>
<a name="l00455"></a>00455 <span class="preprocessor"></span>    {
<a name="l00456"></a>00456         result_type
<a name="l00457"></a><a class="code" href="structDoubleSupport_1_1subtractFunction.html#a89c6257e225d643892a120efd2f3b0f2">00457</a>         operator()(
<a name="l00458"></a>00458             first_argument_type     theLHS,
<a name="l00459"></a>00459             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00460"></a>00460 <span class="keyword">        </span>{
<a name="l00461"></a>00461             <span class="keywordflow">return</span> subtract(theLHS, theRHS);
<a name="l00462"></a>00462         }
<a name="l00463"></a>00463     };
<a name="l00464"></a>00464 
<a name="l00465"></a>00465 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00466"></a>00466 <span class="preprocessor"></span>    <span class="keyword">struct </span>multiplyFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00467"></a>00467 <span class="preprocessor">    #else</span>
<a name="l00468"></a><a class="code" href="structDoubleSupport_1_1multiplyFunction.html">00468</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1multiplyFunction.html">multiplyFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00469"></a>00469 <span class="preprocessor">    #endif</span>
<a name="l00470"></a>00470 <span class="preprocessor"></span>    {
<a name="l00471"></a>00471         result_type
<a name="l00472"></a><a class="code" href="structDoubleSupport_1_1multiplyFunction.html#af10dbb9b5697029f4454d42c97723f74">00472</a>         operator()(
<a name="l00473"></a>00473             first_argument_type     theLHS,
<a name="l00474"></a>00474             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00475"></a>00475 <span class="keyword">        </span>{
<a name="l00476"></a>00476             <span class="keywordflow">return</span> multiply(theLHS, theRHS);
<a name="l00477"></a>00477         }
<a name="l00478"></a>00478     };
<a name="l00479"></a>00479 
<a name="l00480"></a>00480 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00481"></a>00481 <span class="preprocessor"></span>    <span class="keyword">struct </span>divideFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00482"></a>00482 <span class="preprocessor">    #else</span>
<a name="l00483"></a><a class="code" href="structDoubleSupport_1_1divideFunction.html">00483</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1divideFunction.html">divideFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00484"></a>00484 <span class="preprocessor">    #endif</span>
<a name="l00485"></a>00485 <span class="preprocessor"></span>    {
<a name="l00486"></a>00486         result_type
<a name="l00487"></a><a class="code" href="structDoubleSupport_1_1divideFunction.html#a45e2462b405ff9007ce4853fb5caa42e">00487</a>         operator()(
<a name="l00488"></a>00488             first_argument_type     theLHS,
<a name="l00489"></a>00489             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00490"></a>00490 <span class="keyword">        </span>{
<a name="l00491"></a>00491             <span class="keywordflow">return</span> divide(theLHS, theRHS);
<a name="l00492"></a>00492         }
<a name="l00493"></a>00493     };
<a name="l00494"></a>00494 
<a name="l00495"></a>00495 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00496"></a>00496 <span class="preprocessor"></span>    <span class="keyword">struct </span>modulusFunction : <span class="keyword">public</span> binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00497"></a>00497 <span class="preprocessor">    #else</span>
<a name="l00498"></a><a class="code" href="structDoubleSupport_1_1modulusFunction.html">00498</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1modulusFunction.html">modulusFunction</a> : <span class="keyword">public</span> std::binary_function&lt;const double&amp;, const double&amp;, double&gt;
<a name="l00499"></a>00499 <span class="preprocessor">    #endif</span>
<a name="l00500"></a>00500 <span class="preprocessor"></span>    {
<a name="l00501"></a>00501         result_type
<a name="l00502"></a><a class="code" href="structDoubleSupport_1_1modulusFunction.html#aefd3c39bddba7131dcc57b27dfe33835">00502</a>         operator()(
<a name="l00503"></a>00503             first_argument_type     theLHS,
<a name="l00504"></a>00504             second_argument_type    theRHS)<span class="keyword"> const</span>
<a name="l00505"></a>00505 <span class="keyword">        </span>{
<a name="l00506"></a>00506             <span class="keywordflow">return</span> modulus(theLHS, theRHS);
<a name="l00507"></a>00507         }
<a name="l00508"></a>00508     };
<a name="l00509"></a>00509 
<a name="l00510"></a>00510 <span class="preprocessor">    #if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00511"></a>00511 <span class="preprocessor"></span>    <span class="keyword">struct </span>negativeFunction : <span class="keyword">public</span> <a class="code" href="classstd_1_1unary__function.html">unary_function</a>&lt;const double&amp;, double&gt;
<a name="l00512"></a>00512 <span class="preprocessor">    #else</span>
<a name="l00513"></a><a class="code" href="structDoubleSupport_1_1negativeFunction.html">00513</a> <span class="preprocessor"></span>    struct <a class="code" href="structDoubleSupport_1_1negativeFunction.html">negativeFunction</a> : <span class="keyword">public</span> std::<a class="code" href="classstd_1_1unary__function.html">unary_function</a>&lt;const double&amp;, double&gt;
<a name="l00514"></a>00514 <span class="preprocessor">    #endif</span>
<a name="l00515"></a>00515 <span class="preprocessor"></span>    {
<a name="l00516"></a>00516         result_type
<a name="l00517"></a><a class="code" href="structDoubleSupport_1_1negativeFunction.html#af5d1003ec2edadfb5fdc0616cf7cf03c">00517</a>         operator()(argument_type    theDouble)<span class="keyword"> const</span>
<a name="l00518"></a>00518 <span class="keyword">        </span>{
<a name="l00519"></a>00519             <span class="keywordflow">return</span> negative(theDouble);
<a name="l00520"></a>00520         }
<a name="l00521"></a>00521     };
<a name="l00522"></a>00522 <span class="comment"></span>
<a name="l00523"></a>00523 <span class="comment">    /**</span>
<a name="l00524"></a>00524 <span class="comment">     * Determine whether or not a string contains</span>
<a name="l00525"></a>00525 <span class="comment">     * a valid floating point number.</span>
<a name="l00526"></a>00526 <span class="comment">     *</span>
<a name="l00527"></a>00527 <span class="comment">     * @param theString The string to check.</span>
<a name="l00528"></a>00528 <span class="comment">     * @return true if the string is valid, false if not.</span>
<a name="l00529"></a>00529 <span class="comment">     */</span>
<a name="l00530"></a>00530     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00531"></a>00531     isValid(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString);
<a name="l00532"></a>00532 <span class="comment"></span>
<a name="l00533"></a>00533 <span class="comment">    /**</span>
<a name="l00534"></a>00534 <span class="comment">     * Determine whether or not a string contains</span>
<a name="l00535"></a>00535 <span class="comment">     * a valid floating point number.</span>
<a name="l00536"></a>00536 <span class="comment">     *</span>
<a name="l00537"></a>00537 <span class="comment">     * @param theString The string to check.</span>
<a name="l00538"></a>00538 <span class="comment">     * @return true if the string is valid, false if not.</span>
<a name="l00539"></a>00539 <span class="comment">     */</span>
<a name="l00540"></a>00540     <span class="keyword">static</span> <span class="keywordtype">bool</span>
<a name="l00541"></a>00541     isValid(<span class="keyword">const</span> XalanDOMChar*     theString);
<a name="l00542"></a>00542 <span class="comment"></span>
<a name="l00543"></a>00543 <span class="comment">    /**</span>
<a name="l00544"></a>00544 <span class="comment">     * Convert a string to a double value.  Returns</span>
<a name="l00545"></a>00545 <span class="comment">     * NaN if the string is not a valid floating</span>
<a name="l00546"></a>00546 <span class="comment">     * point number.</span>
<a name="l00547"></a>00547 <span class="comment">     *</span>
<a name="l00548"></a>00548 <span class="comment">     * @param theString The string to convert.</span>
<a name="l00549"></a>00549 <span class="comment">     * @param theManager The MemoryManager instance to use.</span>
<a name="l00550"></a>00550 <span class="comment">     * @return The result of the conversion</span>
<a name="l00551"></a>00551 <span class="comment">     */</span>
<a name="l00552"></a>00552     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00553"></a>00553     toDouble(
<a name="l00554"></a>00554             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString,
<a name="l00555"></a>00555             MemoryManager&amp;          theManager);
<a name="l00556"></a>00556 <span class="comment"></span>
<a name="l00557"></a>00557 <span class="comment">    /**</span>
<a name="l00558"></a>00558 <span class="comment">     * Convert a string to a double value.  Returns</span>
<a name="l00559"></a>00559 <span class="comment">     * NaN if the string is not a valid floating</span>
<a name="l00560"></a>00560 <span class="comment">     * point number.</span>
<a name="l00561"></a>00561 <span class="comment">     *</span>
<a name="l00562"></a>00562 <span class="comment">     * @param theString The string to convert.</span>
<a name="l00563"></a>00563 <span class="comment">     * @param theManager The MemoryManager instance to use.</span>
<a name="l00564"></a>00564 <span class="comment">     * @return The result of the conversion</span>
<a name="l00565"></a>00565 <span class="comment">     */</span>
<a name="l00566"></a>00566     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00567"></a>00567     toDouble(
<a name="l00568"></a>00568             <span class="keyword">const</span> XalanDOMChar*     theString,
<a name="l00569"></a>00569             MemoryManager&amp;          theManager);
<a name="l00570"></a>00570 <span class="comment"></span>
<a name="l00571"></a>00571 <span class="comment">    /**</span>
<a name="l00572"></a>00572 <span class="comment">     * Round a number according to the XPath</span>
<a name="l00573"></a>00573 <span class="comment">     * rules.</span>
<a name="l00574"></a>00574 <span class="comment">     *</span>
<a name="l00575"></a>00575 <span class="comment">     * @param theValue The value to round.</span>
<a name="l00576"></a>00576 <span class="comment">     * @return The result of the rounding</span>
<a name="l00577"></a>00577 <span class="comment">     */</span>
<a name="l00578"></a>00578     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00579"></a>00579     round(<span class="keywordtype">double</span>    theValue);
<a name="l00580"></a>00580 <span class="comment"></span>
<a name="l00581"></a>00581 <span class="comment">    /**</span>
<a name="l00582"></a>00582 <span class="comment">     * Returns the ceiling of a number according to the XPath</span>
<a name="l00583"></a>00583 <span class="comment">     * rules.</span>
<a name="l00584"></a>00584 <span class="comment">     *</span>
<a name="l00585"></a>00585 <span class="comment">     * @param theValue The value to round.</span>
<a name="l00586"></a>00586 <span class="comment">     * @return The result of the rounding</span>
<a name="l00587"></a>00587 <span class="comment">     */</span>
<a name="l00588"></a>00588     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00589"></a><a class="code" href="classDoubleSupport.html#ab3dc149b5ac78e6fb0de39a21f1eaf9c">00589</a>     ceiling(<span class="keywordtype">double</span>  theValue)
<a name="l00590"></a>00590     {
<a name="l00591"></a>00591 <span class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</span>
<a name="l00592"></a>00592 <span class="preprocessor"></span>        <span class="keywordflow">return</span> std::ceil(theValue);
<a name="l00593"></a>00593 <span class="preprocessor">#else</span>
<a name="l00594"></a>00594 <span class="preprocessor"></span>        <span class="keywordflow">return</span> ceil(theValue);
<a name="l00595"></a>00595 <span class="preprocessor">#endif</span>
<a name="l00596"></a>00596 <span class="preprocessor"></span>    }
<a name="l00597"></a>00597 <span class="comment"></span>
<a name="l00598"></a>00598 <span class="comment">    /**</span>
<a name="l00599"></a>00599 <span class="comment">     * Returns the floor of a number according to the XPath</span>
<a name="l00600"></a>00600 <span class="comment">     * rules.</span>
<a name="l00601"></a>00601 <span class="comment">     *</span>
<a name="l00602"></a>00602 <span class="comment">     * @param theValue The value to round.</span>
<a name="l00603"></a>00603 <span class="comment">     * @return The result of the rounding</span>
<a name="l00604"></a>00604 <span class="comment">     */</span>
<a name="l00605"></a>00605     <span class="keyword">static</span> <span class="keywordtype">double</span>
<a name="l00606"></a><a class="code" href="classDoubleSupport.html#a331b5daf60da2e6107f55741641c50bf">00606</a>     floor(<span class="keywordtype">double</span>    theValue)
<a name="l00607"></a>00607     {
<a name="l00608"></a>00608 <span class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</span>
<a name="l00609"></a>00609 <span class="preprocessor"></span>        <span class="keywordflow">return</span> std::floor(theValue);
<a name="l00610"></a>00610 <span class="preprocessor">#else</span>
<a name="l00611"></a>00611 <span class="preprocessor"></span>        return ::floor(theValue);
<a name="l00612"></a>00612 <span class="preprocessor">#endif</span>
<a name="l00613"></a>00613 <span class="preprocessor"></span>    }
<a name="l00614"></a>00614 
<a name="l00615"></a><a class="code" href="unionDoubleSupport_1_1NumberUnion.html">00615</a>     <span class="keyword">union </span><a class="code" href="unionDoubleSupport_1_1NumberUnion.html">NumberUnion</a>
<a name="l00616"></a>00616     {
<a name="l00617"></a><a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a6a721c6954761b5e88d3a0c2ee6c9131">00617</a>         <span class="keywordtype">double</span>  d;
<a name="l00618"></a>00618         <span class="keyword">struct</span>
<a name="l00619"></a>00619         {
<a name="l00620"></a><a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a6b305da47b108ef93e42e15d98f4e660">00620</a>             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    dw1;
<a name="l00621"></a><a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a2d6d34568a4a6b3fb002497550b889e6">00621</a>             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    dw2;
<a name="l00622"></a>00622         } dwords;
<a name="l00623"></a>00623 
<a name="l00624"></a>00624         <span class="keywordtype">bool</span>
<a name="l00625"></a><a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a381356fc6810d6b659c32e5e0624fdf6">00625</a>         <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keywordtype">double</span>   theNumber)<span class="keyword"> const</span>
<a name="l00626"></a>00626 <span class="keyword">        </span>{
<a name="l00627"></a>00627             <span class="keyword">const</span> <a class="code" href="unionDoubleSupport_1_1NumberUnion.html">NumberUnion</a>   temp = { theNumber };
<a name="l00628"></a>00628 
<a name="l00629"></a>00629             <span class="keywordflow">return</span> dwords.dw1 == temp.<a class="code" href="unionDoubleSupport_1_1NumberUnion.html#abc26fa284f8a8df04f81517ed42ffc58">dwords</a>.<a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a6b305da47b108ef93e42e15d98f4e660">dw1</a> &amp;&amp;
<a name="l00630"></a>00630                    dwords.dw2 == temp.<a class="code" href="unionDoubleSupport_1_1NumberUnion.html#abc26fa284f8a8df04f81517ed42ffc58">dwords</a>.<a class="code" href="unionDoubleSupport_1_1NumberUnion.html#a2d6d34568a4a6b3fb002497550b889e6">dw2</a>;
<a name="l00631"></a>00631         }
<a name="l00632"></a>00632     };
<a name="l00633"></a>00633 
<a name="l00634"></a>00634 <span class="keyword">private</span>:
<a name="l00635"></a>00635 
<a name="l00636"></a>00636 <span class="preprocessor">#if defined(XALAN_NO_STD_NUMERIC_LIMITS)</span>
<a name="l00637"></a>00637 <span class="preprocessor"></span>    <span class="keyword">static</span> NumberUnion          s_NaN;
<a name="l00638"></a>00638 <span class="preprocessor">#else</span>
<a name="l00639"></a>00639 <span class="preprocessor"></span>    <span class="keyword">static</span> <span class="keyword">const</span> NumberUnion    s_NaN;
<a name="l00640"></a>00640 <span class="preprocessor">#endif</span>
<a name="l00641"></a>00641 <span class="preprocessor"></span>
<a name="l00642"></a>00642     <span class="keyword">static</span> <span class="keyword">const</span> NumberUnion    s_positiveInfinity;
<a name="l00643"></a>00643     <span class="keyword">static</span> <span class="keyword">const</span> NumberUnion    s_negativeInfinity;
<a name="l00644"></a>00644     <span class="keyword">static</span> <span class="keyword">const</span> NumberUnion    s_positiveZero;
<a name="l00645"></a>00645     <span class="keyword">static</span> <span class="keyword">const</span> NumberUnion    s_negativeZero;
<a name="l00646"></a>00646 };
<a name="l00647"></a>00647 
<a name="l00648"></a>00648 
<a name="l00649"></a>00649 
<a name="l00650"></a>00650 XALAN_CPP_NAMESPACE_END
<a name="l00651"></a>00651 
<a name="l00652"></a>00652 
<a name="l00653"></a>00653 
<a name="l00654"></a>00654 <span class="preprocessor">#endif  // DOUBLESUPPORT_HEADER_GUARD_1357924680</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
