18#if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680)
19#define DOUBLESUPPORT_HEADER_GUARD_1357924680
34#ifdef XALAN_HAVE_STD_ISNAN
49using xercesc::MemoryManager;
85#ifdef XALAN_HAVE_STD_ISNAN
89#elif XALAN_HAVE__ISNAN
168 return s_positiveInfinity.d;
179 return s_negativeInfinity.d;
357 const double&
theRHS)
const
368 const double&
theRHS)
const
379 const double&
theRHS)
const
390 const double&
theRHS)
const
401 const double&
theRHS)
const
412 const double&
theRHS)
const
423 const double&
theRHS)
const
434 const double&
theRHS)
const
445 const double&
theRHS)
const
456 const double&
theRHS)
const
467 const double&
theRHS)
const
580 return dwords.dw1 ==
temp.dwords.dw1 &&
581 dwords.dw2 ==
temp.dwords.dw2;
587 static const NumberUnion s_NaN;
589 static const NumberUnion s_positiveInfinity;
590 static const NumberUnion s_negativeInfinity;
591 static const NumberUnion s_positiveZero;
592 static const NumberUnion s_negativeZero;
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
static bool equal(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
static double getPositiveInfinity()
Double value that represents positive infinity.
static bool lessThan(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
static bool isPositiveInfinity(double theNumber)
Determine if target is positive infinity.
static bool lessThanOrEqual(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
static double getNegativeInfinity()
Double value that represents negative infinity.
static bool isValid(const XalanDOMString &theString)
Determine whether or not a string contains a valid floating point number.
static double divide(double theLHS, double theRHS)
Divide two double values, taking into account the fact that we must support IEEE 754.
static double toDouble(const XalanDOMString &theString, MemoryManager &theManager)
Convert a string to a double value.
static double multiply(double theLHS, double theRHS)
Multiply two double values, taking into account the fact that we must support IEEE 754.
static bool isNaN(double theNumber)
Determine if target is not a number.
static double abs(double theDouble)
Return the absolute value of theDouble.
static void initialize()
Perform static initialization.
static bool isNegativeZero(double theNumber)
Determine if target is negative 0.
static double ceiling(double theValue)
Returns the ceiling of a number according to the XPath rules.
static bool notEqual(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
static double modulus(double theLHS, double theRHS)
Determine the modulus two double values, taking into account the fact that we must support IEEE 754.
static bool isValid(const XalanDOMChar *theString)
Determine whether or not a string contains a valid floating point number.
static bool isPositiveZero(double theNumber)
Determine if target is positive 0.
static double subtract(double theLHS, double theRHS)
Subtract two double values, taking into account the fact that we must support IEEE 754.
static double round(double theValue)
Round a number according to the XPath rules.
static bool greaterThanOrEqual(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
static bool isNegativeInfinity(double theNumber)
Determine if target is negative infinity.
static double toDouble(const XalanDOMChar *theString, MemoryManager &theManager)
Convert a string to a double value.
static double negative(double theDouble)
Determine the negative of a double value, taking into account the fact that we must support IEEE 754.
static double add(double theLHS, double theRHS)
Add two double values, taking into account the fact that we must support IEEE 754.
static void terminate()
Perform static shut down.
static double floor(double theValue)
Returns the floor of a number according to the XPath rules.
static double getNaN()
Double value that represents "not a number".
static bool greaterThan(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754.
double operator()(const double &theLHS, const double &theRHS) const
double operator()(const double &theLHS, const double &theRHS) const
bool operator()(const double &theLHS, const double &theRHS) const
bool operator()(const double &theLHS, const double &theRHS) const
bool operator()(const double &theLHS, const double &theRHS) const
bool operator()(const double &theLHS, const double &theRHS) const
bool operator()(const double &theLHS, const double &theRHS) const
double operator()(const double &theLHS, const double &theRHS) const
double operator()(const double &theLHS, const double &theRHS) const
double operator()(const double &theDouble) const
bool operator()(const double &theLHS, const double &theRHS) const
double operator()(const double &theLHS, const double &theRHS) const
bool operator==(double theNumber) const