SourceForge.net Logo

Numeric Class Reference

#include <Numeric.hpp>

Inheritance diagram for Numeric:
Inheritance graph
[legend]

List of all members.

Public Types

enum  State {
  NEG_INF = 0, NEG_NUM = 1, NUM = 2, INF = 3,
  NaN = 4
}
typedef RefCountPointer< const
Numeric
Ptr

Public Member Functions

virtual bool isNumericValue () const
virtual const XMLCh * getPrimitiveTypeName () const =0
virtual const XMLCh * getTypeURI () const =0
virtual const XMLCh * getTypeName () const =0
virtual const XMLCh * asString (const DynamicContext *context) const =0
virtual Numeric::Ptr promoteTypeIfApplicable (AnyAtomicType::AtomicObjectType typeIndex, const DynamicContext *context) const =0
virtual bool equals (const AnyAtomicType::Ptr &target, const DynamicContext *context) const
virtual bool lessThan (const Numeric::Ptr &other, const DynamicContext *context) const
 Returns true if this is less than other, false otherwise.
virtual bool greaterThan (const Numeric::Ptr &other, const DynamicContext *context) const
 Returns true if this is greater than other, false otherwise.
virtual int compare (const Numeric::Ptr &other, const DynamicContext *context) const
 Returns less than 0 if this is less that other, 0 if they are the same, and greater than 0 otherwise.
virtual Numeric::Ptr add (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns a Numeric object which is the sum of this and other.
virtual Numeric::Ptr subtract (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns a Numeric object which is the difference of this and other.
virtual Numeric::Ptr multiply (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns a Numeric object which is the product of this and other.
virtual Numeric::Ptr divide (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns a Numeric object which is the quotient of this and other.
virtual Numeric::Ptr mod (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns the arithmetic product of its operands as a Numeric.
virtual Numeric::Ptr floor (const DynamicContext *context) const =0
 Returns the floor of this Numeric.
virtual Numeric::Ptr ceiling (const DynamicContext *context) const =0
 Returns the ceiling of this Numeric.
virtual Numeric::Ptr round (const DynamicContext *context) const =0
 Rounds this Numeric.
virtual Numeric::Ptr roundHalfToEven (const Numeric::Ptr &precision, const DynamicContext *context) const =0
 Rounds this Numeric to the given precision, and rounds a half to even.
virtual Numeric::Ptr invert (const DynamicContext *context) const =0
 Returns the Additive inverse of this Numeric.
virtual bool isZero () const =0
 Does this Numeric have value 0?
virtual bool isPositive () const =0
 Is this Numeric positive?
virtual bool isNegative () const =0
 Is this Numeric negative?
virtual bool isNaN () const =0
virtual bool isInfinite () const =0
virtual
AnyAtomicType::AtomicObjectType 
getPrimitiveTypeIndex () const =0
virtual const MAPM & asMAPM () const =0
virtual double asDouble () const
virtual int asInt () const
virtual State getState () const =0

Static Public Member Functions

static void checkFloatLimits (Numeric::State &state, MAPM &value)
static void checkDoubleLimits (Numeric::State &state, MAPM &value)
static const XMLCh * asDecimalString (const MAPM &value, int significantDigits, const StaticContext *context)
static const XMLCh * asDoubleString (State state, const MAPM &value, int significantDigits, const StaticContext *context)

Static Public Attributes

static const XMLCh NaN_string []
static const XMLCh NAN_string []
static const XMLCh INF_string []
static const XMLCh NegINF_string []
static const XMLCh NegZero_string []
static const XMLCh PosZero_string []

Protected Member Functions

virtual AnyAtomicType::Ptr castAsInternal (AtomicObjectType targetIndex, const XMLCh *targetURI, const XMLCh *targetType, const DynamicContext *context) const
const XMLCh * asDecimalString (int significantDigits, const StaticContext *context) const
const XMLCh * asDoubleString (int significantDigits, const StaticContext *context) const

Member Typedef Documentation

Reimplemented from AnyAtomicType.

Reimplemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.


Member Enumeration Documentation

Enumerator:
NEG_INF 
NEG_NUM 
NUM 
INF 
NaN 

Member Function Documentation

virtual Numeric::Ptr Numeric::add ( const Numeric::Ptr other,
const DynamicContext context 
) const [pure virtual]

Returns a Numeric object which is the sum of this and other.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

const XMLCh* Numeric::asDecimalString ( int  significantDigits,
const StaticContext context 
) const [protected]
static const XMLCh* Numeric::asDecimalString ( const MAPM &  value,
int  significantDigits,
const StaticContext context 
) [static]
virtual double Numeric::asDouble (  )  const [virtual]
const XMLCh* Numeric::asDoubleString ( int  significantDigits,
const StaticContext context 
) const [protected]
static const XMLCh* Numeric::asDoubleString ( State  state,
const MAPM &  value,
int  significantDigits,
const StaticContext context 
) [static]
virtual int Numeric::asInt (  )  const [virtual]
virtual const MAPM& Numeric::asMAPM (  )  const [pure virtual]
virtual const XMLCh* Numeric::asString ( const DynamicContext context  )  const [pure virtual]
virtual AnyAtomicType::Ptr Numeric::castAsInternal ( AtomicObjectType  targetIndex,
const XMLCh *  targetURI,
const XMLCh *  targetType,
const DynamicContext context 
) const [protected, virtual]

Reimplemented from AnyAtomicType.

virtual Numeric::Ptr Numeric::ceiling ( const DynamicContext context  )  const [pure virtual]

Returns the ceiling of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

static void Numeric::checkDoubleLimits ( Numeric::State state,
MAPM &  value 
) [static]
static void Numeric::checkFloatLimits ( Numeric::State state,
MAPM &  value 
) [static]
virtual int Numeric::compare ( const Numeric::Ptr other,
const DynamicContext context 
) const [virtual]

Returns less than 0 if this is less that other, 0 if they are the same, and greater than 0 otherwise.

virtual Numeric::Ptr Numeric::divide ( const Numeric::Ptr other,
const DynamicContext context 
) const [pure virtual]

Returns a Numeric object which is the quotient of this and other.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual bool Numeric::equals ( const AnyAtomicType::Ptr target,
const DynamicContext context 
) const [virtual]

Implements AnyAtomicType.

virtual Numeric::Ptr Numeric::floor ( const DynamicContext context  )  const [pure virtual]

Returns the floor of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual AnyAtomicType::AtomicObjectType Numeric::getPrimitiveTypeIndex (  )  const [pure virtual]
virtual const XMLCh* Numeric::getPrimitiveTypeName (  )  const [pure virtual]
virtual State Numeric::getState (  )  const [pure virtual]
virtual const XMLCh* Numeric::getTypeName (  )  const [pure virtual]
virtual const XMLCh* Numeric::getTypeURI (  )  const [pure virtual]
virtual bool Numeric::greaterThan ( const Numeric::Ptr other,
const DynamicContext context 
) const [virtual]

Returns true if this is greater than other, false otherwise.

virtual Numeric::Ptr Numeric::invert ( const DynamicContext context  )  const [pure virtual]

Returns the Additive inverse of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual bool Numeric::isInfinite (  )  const [pure virtual]
virtual bool Numeric::isNaN (  )  const [pure virtual]
virtual bool Numeric::isNegative (  )  const [pure virtual]

Is this Numeric negative?

Implemented in ATDecimalOrDerived, and ATFloatOrDerived.

virtual bool Numeric::isNumericValue (  )  const [inline, virtual]

Reimplemented from AnyAtomicType.

virtual bool Numeric::isPositive (  )  const [pure virtual]

Is this Numeric positive?

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual bool Numeric::isZero (  )  const [pure virtual]

Does this Numeric have value 0?

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual bool Numeric::lessThan ( const Numeric::Ptr other,
const DynamicContext context 
) const [virtual]

Returns true if this is less than other, false otherwise.

virtual Numeric::Ptr Numeric::mod ( const Numeric::Ptr other,
const DynamicContext context 
) const [pure virtual]

Returns the arithmetic product of its operands as a Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::multiply ( const Numeric::Ptr other,
const DynamicContext context 
) const [pure virtual]

Returns a Numeric object which is the product of this and other.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::promoteTypeIfApplicable ( AnyAtomicType::AtomicObjectType  typeIndex,
const DynamicContext context 
) const [pure virtual]
virtual Numeric::Ptr Numeric::round ( const DynamicContext context  )  const [pure virtual]

Rounds this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::roundHalfToEven ( const Numeric::Ptr precision,
const DynamicContext context 
) const [pure virtual]

Rounds this Numeric to the given precision, and rounds a half to even.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::subtract ( const Numeric::Ptr other,
const DynamicContext context 
) const [pure virtual]

Returns a Numeric object which is the difference of this and other.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.


Member Data Documentation

const XMLCh Numeric::INF_string[] [static]
const XMLCh Numeric::NAN_string[] [static]
const XMLCh Numeric::NaN_string[] [static]
const XMLCh Numeric::NegINF_string[] [static]
const XMLCh Numeric::NegZero_string[] [static]
const XMLCh Numeric::PosZero_string[] [static]

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

Generated on Fri Nov 13 14:59:59 2009 for XQilla Simple API by  doxygen 1.6.1