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);
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)
395 struct lessThanOrEqualFunction :
public binary_function<const double&, const double&, bool>
402 first_argument_type theLHS,
403 second_argument_type theRHS)
const
405 return lessThanOrEqual(theLHS, theRHS);
409 #if defined(XALAN_NO_STD_NAMESPACE)
410 struct greaterThanFunction :
public binary_function<const double&, const double&, bool>
417 first_argument_type theLHS,
418 second_argument_type theRHS)
const
420 return greaterThan(theLHS, theRHS);
424 #if defined(XALAN_NO_STD_NAMESPACE)
425 struct greaterThanOrEqualFunction :
public binary_function<const double&, const double&, bool>
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)
515 struct negativeFunction :
public unary_function<const double&, double>
523 return negative(theDouble);
559 MemoryManager& theManager);
572 const XalanDOMChar* theString,
573 MemoryManager& theManager);
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)
641 static NumberUnion s_NaN;
643 static const NumberUnion s_NaN;
646 static const NumberUnion s_positiveInfinity;
647 static const NumberUnion s_negativeInfinity;
648 static const NumberUnion s_positiveZero;
649 static const NumberUnion s_negativeZero;
654 XALAN_CPP_NAMESPACE_END
658 #endif // DOUBLESUPPORT_HEADER_GUARD_1357924680