16 #if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680)
17 #define DOUBLESUPPORT_HEADER_GUARD_1357924680
35 XALAN_CPP_NAMESPACE_BEGIN
39 XALAN_USING_XERCES(MemoryManager)
73 isNaN(
double theNumber)
75 return s_NaN == theNumber;
85 isPositiveInfinity(
double theNumber)
87 return s_positiveInfinity == theNumber;
97 isNegativeInfinity(
double theNumber)
99 return s_negativeInfinity == theNumber;
109 isPositiveZero(
double theNumber)
111 return s_positiveZero == theNumber;
121 isNegativeZero(
double theNumber)
123 return s_negativeZero == theNumber;
148 getPositiveInfinity()
150 return s_positiveInfinity.d;
159 getNegativeInfinity()
161 return s_negativeInfinity.d;
190 return !equal(theLHS, theRHS);
320 negative(
double theDouble);
330 abs(
double theDouble);
334 #if defined(XALAN_NO_STD_NAMESPACE)
335 struct equalFunction :
public binary_function<const double&, const double&, bool>
337 struct
equalFunction :
public std::binary_function<const double&, const double&, bool>
342 first_argument_type theLHS,
343 second_argument_type theRHS)
const
345 return equal(theLHS, theRHS);
349 #if defined(XALAN_NO_STD_NAMESPACE)
350 struct notEqualFunction :
public binary_function<const double&, const double&, bool>
357 first_argument_type theLHS,
358 second_argument_type theRHS)
const
360 return notEqual(theLHS, theRHS);
364 #if defined(XALAN_NO_STD_NAMESPACE)
365 struct lessThanFunction :
public binary_function<const double&, const double&, bool>
372 first_argument_type theLHS,
373 second_argument_type theRHS)
const
375 return lessThan(theLHS, theRHS);
379 #if defined(XALAN_NO_STD_NAMESPACE)
380 struct lessThanOrEqualFunction :
public binary_function<const double&, const double&, bool>
387 first_argument_type theLHS,
388 second_argument_type theRHS)
const
390 return lessThanOrEqual(theLHS, theRHS);
394 #if defined(XALAN_NO_STD_NAMESPACE)
395 struct greaterThanFunction :
public binary_function<const double&, const double&, bool>
402 first_argument_type theLHS,
403 second_argument_type theRHS)
const
405 return greaterThan(theLHS, theRHS);
409 #if defined(XALAN_NO_STD_NAMESPACE)
410 struct greaterThanOrEqualFunction :
public binary_function<const double&, const double&, bool>
417 first_argument_type theLHS,
418 second_argument_type theRHS)
const
420 return greaterThanOrEqual(theLHS, theRHS);
424 #if defined(XALAN_NO_STD_NAMESPACE)
425 struct addFunction :
public binary_function<const double&, const double&, double>
427 struct
addFunction :
public std::binary_function<const double&, const double&, double>
432 first_argument_type theLHS,
433 second_argument_type theRHS)
const
435 return add(theLHS, theRHS);
439 #if defined(XALAN_NO_STD_NAMESPACE)
440 struct subtractFunction :
public binary_function<const double&, const double&, double>
442 struct
subtractFunction :
public std::binary_function<const double&, const double&, double>
447 first_argument_type theLHS,
448 second_argument_type theRHS)
const
450 return subtract(theLHS, theRHS);
454 #if defined(XALAN_NO_STD_NAMESPACE)
455 struct multiplyFunction :
public binary_function<const double&, const double&, double>
457 struct
multiplyFunction :
public std::binary_function<const double&, const double&, double>
462 first_argument_type theLHS,
463 second_argument_type theRHS)
const
465 return multiply(theLHS, theRHS);
469 #if defined(XALAN_NO_STD_NAMESPACE)
470 struct divideFunction :
public binary_function<const double&, const double&, double>
472 struct
divideFunction :
public std::binary_function<const double&, const double&, double>
477 first_argument_type theLHS,
478 second_argument_type theRHS)
const
480 return divide(theLHS, theRHS);
484 #if defined(XALAN_NO_STD_NAMESPACE)
485 struct modulusFunction :
public binary_function<const double&, const double&, double>
487 struct
modulusFunction :
public std::binary_function<const double&, const double&, double>
492 first_argument_type theLHS,
493 second_argument_type theRHS)
const
495 return modulus(theLHS, theRHS);
499 #if defined(XALAN_NO_STD_NAMESPACE)
500 struct negativeFunction :
public unary_function<const double&, double>
506 operator()(argument_type theDouble)
const
508 return negative(theDouble);
530 isValid(
const XalanDOMChar* theString);
544 MemoryManager& theManager);
557 const XalanDOMChar* theString,
558 MemoryManager& theManager);
568 round(
double theValue);
578 ceiling(
double theValue)
580 #if defined(XALAN_STRICT_ANSI_HEADERS)
581 return std::ceil(theValue);
583 return ceil(theValue);
595 floor(
double theValue)
597 #if defined(XALAN_STRICT_ANSI_HEADERS)
598 return std::floor(theValue);
600 return ::floor(theValue);
626 #if defined(XALAN_NO_STD_NUMERIC_LIMITS)
627 static NumberUnion s_NaN;
629 static const NumberUnion s_NaN;
632 static const NumberUnion s_positiveInfinity;
633 static const NumberUnion s_negativeInfinity;
634 static const NumberUnion s_positiveZero;
635 static const NumberUnion s_negativeZero;
640 XALAN_CPP_NAMESPACE_END
644 #endif // DOUBLESUPPORT_HEADER_GUARD_1357924680