18 #if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680) 19 #define DOUBLESUPPORT_HEADER_GUARD_1357924680 40 XALAN_CPP_NAMESPACE_BEGIN
81 return _isnan(theNumber) != 0;
82 #elif defined(XALAN_POSIX2_AVAILABLE) && !defined(CYGWIN) && !defined(MINGW) 83 #if defined(XALAN_NO_STD_NAMESPACE) 84 return isnam(theNumber) != 0;
86 return std::isnan(theNumber) != 0;
89 return s_NaN == theNumber;
102 return s_positiveInfinity == theNumber;
114 return s_negativeInfinity == theNumber;
126 return s_positiveZero == theNumber;
138 return s_negativeZero == theNumber;
165 return s_positiveInfinity.d;
176 return s_negativeInfinity.d;
205 return !equal(theLHS, theRHS);
335 negative(
double theDouble);
345 abs(
double theDouble);
349 #if defined(XALAN_NO_STD_NAMESPACE) 350 struct equalFunction :
public binary_function<const double&, const double&, bool>
352 struct
equalFunction :
public std::binary_function<const double&, const double&, bool>
357 first_argument_type theLHS,
358 second_argument_type theRHS)
const 360 return equal(theLHS, theRHS);
364 #if defined(XALAN_NO_STD_NAMESPACE) 365 struct notEqualFunction :
public binary_function<const double&, const double&, bool>
372 first_argument_type theLHS,
373 second_argument_type theRHS)
const 375 return notEqual(theLHS, theRHS);
379 #if defined(XALAN_NO_STD_NAMESPACE) 380 struct lessThanFunction :
public binary_function<const double&, const double&, bool>
387 first_argument_type theLHS,
388 second_argument_type theRHS)
const 390 return lessThan(theLHS, theRHS);
394 #if defined(XALAN_NO_STD_NAMESPACE) 402 first_argument_type theLHS,
403 second_argument_type theRHS)
const 405 return lessThanOrEqual(theLHS, theRHS);
409 #if defined(XALAN_NO_STD_NAMESPACE) 417 first_argument_type theLHS,
418 second_argument_type theRHS)
const 420 return greaterThan(theLHS, theRHS);
424 #if defined(XALAN_NO_STD_NAMESPACE) 432 first_argument_type theLHS,
433 second_argument_type theRHS)
const 435 return greaterThanOrEqual(theLHS, theRHS);
439 #if defined(XALAN_NO_STD_NAMESPACE) 440 struct addFunction :
public binary_function<const double&, const double&, double>
442 struct
addFunction :
public std::binary_function<const double&, const double&, double>
447 first_argument_type theLHS,
448 second_argument_type theRHS)
const 450 return add(theLHS, theRHS);
454 #if defined(XALAN_NO_STD_NAMESPACE) 455 struct subtractFunction :
public binary_function<const double&, const double&, double>
457 struct
subtractFunction :
public std::binary_function<const double&, const double&, double>
462 first_argument_type theLHS,
463 second_argument_type theRHS)
const 465 return subtract(theLHS, theRHS);
469 #if defined(XALAN_NO_STD_NAMESPACE) 470 struct multiplyFunction :
public binary_function<const double&, const double&, double>
472 struct
multiplyFunction :
public std::binary_function<const double&, const double&, double>
477 first_argument_type theLHS,
478 second_argument_type theRHS)
const 480 return multiply(theLHS, theRHS);
484 #if defined(XALAN_NO_STD_NAMESPACE) 485 struct divideFunction :
public binary_function<const double&, const double&, double>
487 struct
divideFunction :
public std::binary_function<const double&, const double&, double>
492 first_argument_type theLHS,
493 second_argument_type theRHS)
const 495 return divide(theLHS, theRHS);
499 #if defined(XALAN_NO_STD_NAMESPACE) 500 struct modulusFunction :
public binary_function<const double&, const double&, double>
502 struct
modulusFunction :
public std::binary_function<const double&, const double&, double>
507 first_argument_type theLHS,
508 second_argument_type theRHS)
const 510 return modulus(theLHS, theRHS);
514 #if defined(XALAN_NO_STD_NAMESPACE) 523 return negative(theDouble);
545 isValid(
const XalanDOMChar* theString);
559 MemoryManager& theManager);
572 const XalanDOMChar* theString,
573 MemoryManager& theManager);
583 round(
double theValue);
595 #if defined(XALAN_STRICT_ANSI_HEADERS) 596 return std::ceil(theValue);
598 return ceil(theValue);
612 #if defined(XALAN_STRICT_ANSI_HEADERS) 613 return std::floor(theValue);
615 return ::floor(theValue);
640 #if defined(XALAN_NO_STD_NUMERIC_LIMITS) 654 XALAN_CPP_NAMESPACE_END
658 #endif // DOUBLESUPPORT_HEADER_GUARD_1357924680
static double getNegativeInfinity()
Double value that represents negative infinity.
struct DoubleSupport::NumberUnion::@20 dwords
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
static bool isPositiveInfinity(double theNumber)
Determine if target is positive infinity.
result_type operator()(argument_type theDouble) const
static bool isNegativeZero(double theNumber)
Determine if target is negative 0.
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
static double getNaN()
Double value that represents "not a number".
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
static bool isNegativeInfinity(double theNumber)
Determine if target is negative infinity.
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
static bool isNaN(double theNumber)
Determine if target is not a number.
static double floor(double theValue)
Returns the floor 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 getPositiveInfinity()
Double value that represents positive infinity.
static bool isPositiveZero(double theNumber)
Determine if target is positive 0.
XALAN_CPP_NAMESPACE_BEGIN XALAN_USING_XERCES(Locator)
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
static double ceiling(double theValue)
Returns the ceiling of a number according to the XPath rules.
bool operator==(double theNumber) const