Xalan-C++ API Reference  1.12.0
Classes | Static Public Member Functions | List of all members
xalanc::DoubleSupport Class Reference

#include <xalanc/PlatformSupport/DoubleSupport.hpp>

Classes

struct  addFunction
 
struct  divideFunction
 
struct  equalFunction
 
struct  greaterThanFunction
 
struct  greaterThanOrEqualFunction
 
struct  lessThanFunction
 
struct  lessThanOrEqualFunction
 
struct  modulusFunction
 
struct  multiplyFunction
 
struct  negativeFunction
 
struct  notEqualFunction
 
union  NumberUnion
 
struct  subtractFunction
 

Static Public Member Functions

static void initialize ()
 Perform static initialization. More...
 
static void terminate ()
 Perform static shut down. More...
 
static bool isNaN (double theNumber)
 Determine if target is not a number. More...
 
static bool isPositiveInfinity (double theNumber)
 Determine if target is positive infinity. More...
 
static bool isNegativeInfinity (double theNumber)
 Determine if target is negative infinity. More...
 
static bool isPositiveZero (double theNumber)
 Determine if target is positive 0. More...
 
static bool isNegativeZero (double theNumber)
 Determine if target is negative 0. More...
 
static double getNaN ()
 Double value that represents "not a number". More...
 
static double getPositiveInfinity ()
 Double value that represents positive infinity. More...
 
static double getNegativeInfinity ()
 Double value that represents negative infinity. More...
 
static bool equal (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static bool notEqual (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static bool lessThan (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static bool lessThanOrEqual (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static bool greaterThan (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static bool greaterThanOrEqual (double theLHS, double theRHS)
 Compare two double values, taking into account the fact that we must support IEEE 754. More...
 
static double add (double theLHS, double theRHS)
 Add two double values, taking into account the fact that we must support IEEE 754. More...
 
static double subtract (double theLHS, double theRHS)
 Subtract two double values, taking into account the fact that we must support IEEE 754. More...
 
static double multiply (double theLHS, double theRHS)
 Multiply two double values, taking into account the fact that we must support IEEE 754. More...
 
static double divide (double theLHS, double theRHS)
 Divide two double values, taking into account the fact that we must support IEEE 754. More...
 
static double modulus (double theLHS, double theRHS)
 Determine the modulus two double values, taking into account the fact that we must support IEEE 754. More...
 
static double negative (double theDouble)
 Determine the negative of a double value, taking into account the fact that we must support IEEE 754. More...
 
static double abs (double theDouble)
 Return the absolute value of theDouble. More...
 
static bool isValid (const XalanDOMString &theString)
 Determine whether or not a string contains a valid floating point number. More...
 
static bool isValid (const XalanDOMChar *theString)
 Determine whether or not a string contains a valid floating point number. More...
 
static double toDouble (const XalanDOMString &theString, MemoryManager &theManager)
 Convert a string to a double value. More...
 
static double toDouble (const XalanDOMChar *theString, MemoryManager &theManager)
 Convert a string to a double value. More...
 
static double round (double theValue)
 Round a number according to the XPath rules. More...
 
static double ceiling (double theValue)
 Returns the ceiling of a number according to the XPath rules. More...
 
static double floor (double theValue)
 Returns the floor of a number according to the XPath rules. More...
 

Detailed Description

Definition at line 54 of file DoubleSupport.hpp.

Member Function Documentation

◆ abs()

static double xalanc::DoubleSupport::abs ( double  theDouble)
static

Return the absolute value of theDouble.

If theDouble is NaN, NaN is returned

Parameters
theDoublea number to fabs
Returns
the result of the fabs

◆ add()

static double xalanc::DoubleSupport::add ( double  theLHS,
double  theRHS 
)
static

Add two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to add
theRHSa number to add
Returns
the result of the addition

◆ ceiling()

static double xalanc::DoubleSupport::ceiling ( double  theValue)
inlinestatic

Returns the ceiling of a number according to the XPath rules.

Parameters
theValueThe value to round.
Returns
The result of the rounding

Definition at line 548 of file DoubleSupport.hpp.

◆ divide()

static double xalanc::DoubleSupport::divide ( double  theLHS,
double  theRHS 
)
static

Divide two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to divide
theRHSa number to divide
Returns
the result of the division

◆ equal()

static bool xalanc::DoubleSupport::equal ( double  theLHS,
double  theRHS 
)
static

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

◆ floor()

static double xalanc::DoubleSupport::floor ( double  theValue)
inlinestatic

Returns the floor of a number according to the XPath rules.

Parameters
theValueThe value to round.
Returns
The result of the rounding

Definition at line 561 of file DoubleSupport.hpp.

◆ getNaN()

static double xalanc::DoubleSupport::getNaN ( )
inlinestatic

Double value that represents "not a number".

Returns
"not a number" value

Definition at line 155 of file DoubleSupport.hpp.

◆ getNegativeInfinity()

static double xalanc::DoubleSupport::getNegativeInfinity ( )
inlinestatic

Double value that represents negative infinity.

Returns
negative infinity value

Definition at line 177 of file DoubleSupport.hpp.

◆ getPositiveInfinity()

static double xalanc::DoubleSupport::getPositiveInfinity ( )
inlinestatic

Double value that represents positive infinity.

Returns
positive infinity value

Definition at line 166 of file DoubleSupport.hpp.

◆ greaterThan()

static bool xalanc::DoubleSupport::greaterThan ( double  theLHS,
double  theRHS 
)
static

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

◆ greaterThanOrEqual()

static bool xalanc::DoubleSupport::greaterThanOrEqual ( double  theLHS,
double  theRHS 
)
static

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

◆ initialize()

static void xalanc::DoubleSupport::initialize ( )
static

Perform static initialization.

See class PlatformSupportInit.

◆ isNaN()

static bool xalanc::DoubleSupport::isNaN ( double  theNumber)
inlinestatic

Determine if target is not a number.

Parameters
theNumbertarget number
Returns
true if target represents the "not a number" value

Definition at line 83 of file DoubleSupport.hpp.

◆ isNegativeInfinity()

static bool xalanc::DoubleSupport::isNegativeInfinity ( double  theNumber)
inlinestatic

Determine if target is negative infinity.

Parameters
theNumbertarget number
Returns
true if target represents the value for negative infinity

Definition at line 115 of file DoubleSupport.hpp.

◆ isNegativeZero()

static bool xalanc::DoubleSupport::isNegativeZero ( double  theNumber)
inlinestatic

Determine if target is negative 0.

Parameters
theNumbertarget number
Returns
true if target represents the value for negative 0

Definition at line 139 of file DoubleSupport.hpp.

◆ isPositiveInfinity()

static bool xalanc::DoubleSupport::isPositiveInfinity ( double  theNumber)
inlinestatic

Determine if target is positive infinity.

Parameters
theNumbertarget number
Returns
true if target represents the value for positive infinity

Definition at line 103 of file DoubleSupport.hpp.

◆ isPositiveZero()

static bool xalanc::DoubleSupport::isPositiveZero ( double  theNumber)
inlinestatic

Determine if target is positive 0.

Parameters
theNumbertarget number
Returns
true if target represents the value for positive 0.

Definition at line 127 of file DoubleSupport.hpp.

◆ isValid() [1/2]

static bool xalanc::DoubleSupport::isValid ( const XalanDOMChar *  theString)
static

Determine whether or not a string contains a valid floating point number.

Parameters
theStringThe string to check.
Returns
true if the string is valid, false if not.

◆ isValid() [2/2]

static bool xalanc::DoubleSupport::isValid ( const XalanDOMString theString)
static

Determine whether or not a string contains a valid floating point number.

Parameters
theStringThe string to check.
Returns
true if the string is valid, false if not.

◆ lessThan()

static bool xalanc::DoubleSupport::lessThan ( double  theLHS,
double  theRHS 
)
static

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

◆ lessThanOrEqual()

static bool xalanc::DoubleSupport::lessThanOrEqual ( double  theLHS,
double  theRHS 
)
static

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

◆ modulus()

static double xalanc::DoubleSupport::modulus ( double  theLHS,
double  theRHS 
)
static

Determine the modulus two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to divide
theRHSa number to divide
Returns
the result of the modulus

◆ multiply()

static double xalanc::DoubleSupport::multiply ( double  theLHS,
double  theRHS 
)
static

Multiply two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to multiply
theRHSa number to multiply
Returns
the result of the multiplication

◆ negative()

static double xalanc::DoubleSupport::negative ( double  theDouble)
static

Determine the negative of a double value, taking into account the fact that we must support IEEE 754.

Parameters
theDoublea number to negate
Returns
the result of the negation

◆ notEqual()

static bool xalanc::DoubleSupport::notEqual ( double  theLHS,
double  theRHS 
)
inlinestatic

Compare two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to compare
theRHSa number to compare
Returns
the result of the compare

Definition at line 204 of file DoubleSupport.hpp.

◆ round()

static double xalanc::DoubleSupport::round ( double  theValue)
static

Round a number according to the XPath rules.

Parameters
theValueThe value to round.
Returns
The result of the rounding

◆ subtract()

static double xalanc::DoubleSupport::subtract ( double  theLHS,
double  theRHS 
)
static

Subtract two double values, taking into account the fact that we must support IEEE 754.

Parameters
theLHSa number to subtract
theRHSa number to subtract
Returns
the result of the subtraction

◆ terminate()

static void xalanc::DoubleSupport::terminate ( )
static

Perform static shut down.

See class PlatformSupportInit.

◆ toDouble() [1/2]

static double xalanc::DoubleSupport::toDouble ( const XalanDOMChar *  theString,
MemoryManager &  theManager 
)
static

Convert a string to a double value.

Returns NaN if the string is not a valid floating point number.

Parameters
theStringThe string to convert.
theManagerThe MemoryManager instance to use.
Returns
The result of the conversion

◆ toDouble() [2/2]

static double xalanc::DoubleSupport::toDouble ( const XalanDOMString theString,
MemoryManager &  theManager 
)
static

Convert a string to a double value.

Returns NaN if the string is not a valid floating point number.

Parameters
theStringThe string to convert.
theManagerThe MemoryManager instance to use.
Returns
The result of the conversion

The documentation for this class was generated from the following file: