16 #if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680)
17 #define DOUBLESUPPORT_HEADER_GUARD_1357924680
35 XALAN_CPP_NAMESPACE_BEGIN
39 XALAN_USING_XERCES(MemoryManager)
75 return s_NaN == theNumber;
87 return s_positiveInfinity == theNumber;
99 return s_negativeInfinity == theNumber;
111 return s_positiveZero == theNumber;
123 return s_negativeZero == theNumber;
150 return s_positiveInfinity.d;
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>
508 return negative(theDouble);
530 isValid(
const XalanDOMChar* theString);
544 MemoryManager& theManager);
557 const XalanDOMChar* theString,
558 MemoryManager& theManager);
568 round(
double theValue);
580 #if defined(XALAN_STRICT_ANSI_HEADERS)
581 return std::ceil(theValue);
583 return ceil(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
unsigned int dw1
Definition: DoubleSupport.hpp:609
Definition: DoubleSupport.hpp:457
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:446
struct DoubleSupport::NumberUnion::@7 dwords
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:386
static double getNegativeInfinity()
Double value that represents negative infinity.
Definition: DoubleSupport.hpp:159
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:431
Definition: DoubleSupport.hpp:44
unsigned int dw2
Definition: DoubleSupport.hpp:610
static bool isPositiveInfinity(double theNumber)
Determine if target is positive infinity.
Definition: DoubleSupport.hpp:85
XalanDOMString & add(const XalanDOMString &theLHS, const XalanDOMString &theRHS, XalanDOMString &result)
Definition: XalanDOMString.hpp:864
static bool isNegativeZero(double theNumber)
Determine if target is negative 0.
Definition: DoubleSupport.hpp:121
Definition: DoubleSupport.hpp:472
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:401
static double getNaN()
Double value that represents "not a number".
Definition: DoubleSupport.hpp:137
bool operator==(double theNumber) const
Definition: DoubleSupport.hpp:614
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:356
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:416
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:491
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:341
Definition: DoubleSupport.hpp:397
Definition: DoubleSupport.hpp:382
Definition: DoubleSupport.hpp:442
result_type operator()(argument_type theDouble) const
Definition: DoubleSupport.hpp:506
static bool isNegativeInfinity(double theNumber)
Determine if target is negative infinity.
Definition: DoubleSupport.hpp:97
Definition: DoubleSupport.hpp:427
double d
Definition: DoubleSupport.hpp:606
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:371
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:476
Definition: DoubleSupport.hpp:337
Definition: DoubleSupport.hpp:487
Definition: DoubleSupport.hpp:502
Definition: DoubleSupport.hpp:367
static bool isNaN(double theNumber)
Determine if target is not a number.
Definition: DoubleSupport.hpp:73
static double floor(double theValue)
Returns the floor of a number according to the XPath rules.
Definition: DoubleSupport.hpp:595
static bool notEqual(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754...
Definition: DoubleSupport.hpp:186
Definition: XalanDOMString.hpp:42
static double getPositiveInfinity()
Double value that represents positive infinity.
Definition: DoubleSupport.hpp:148
static bool isPositiveZero(double theNumber)
Determine if target is positive 0.
Definition: DoubleSupport.hpp:109
Definition: DoubleSupport.hpp:604
result_type operator()(first_argument_type theLHS, second_argument_type theRHS) const
Definition: DoubleSupport.hpp:461
Definition: DoubleSupport.hpp:352
Definition: DoubleSupport.hpp:412
static double ceiling(double theValue)
Returns the ceiling of a number according to the XPath rules.
Definition: DoubleSupport.hpp:578