SourceForge.net Logo
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Numeric Class Referenceabstract

#include <Numeric.hpp>

Inheritance diagram for Numeric:
Inheritance graph
[legend]

Public Types

enum  State {
  NEG_INF = 0, NEG_NUM = 1, NUM = 2, INF = 3,
  NaN = 4
}
 
typedef RefCountPointer< const
Numeric
Ptr
 
- Public Types inherited from AnyAtomicType
enum  AtomicObjectType {
  ANY_SIMPLE_TYPE = 0, ANY_URI = 1, BASE_64_BINARY = 2, BOOLEAN = 3,
  DATE = 4, DATE_TIME = 5, DAY_TIME_DURATION = 6, DECIMAL = 7,
  DOUBLE = 8, DURATION = 9, FLOAT = 10, G_DAY = 11,
  G_MONTH = 12, G_MONTH_DAY = 13, G_YEAR = 14, G_YEAR_MONTH = 15,
  HEX_BINARY = 16, NOTATION = 17, QNAME = 18, STRING = 19,
  TIME = 20, UNTYPED_ATOMIC = 21, YEAR_MONTH_DURATION = 22, NumAtomicObjectTypes = 23
}
 
typedef RefCountPointer< const
AnyAtomicType
Ptr
 
- Public Types inherited from Item
typedef RefCountPointer< const
Item
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. More...
 
virtual bool greaterThan (const Numeric::Ptr &other, const DynamicContext *context) const
 Returns true if this is greater than other, false otherwise. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual Numeric::Ptr mod (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns the arithmetic product of its operands as a Numeric. More...
 
virtual Numeric::Ptr floor (const DynamicContext *context) const =0
 Returns the floor of this Numeric. More...
 
virtual Numeric::Ptr ceiling (const DynamicContext *context) const =0
 Returns the ceiling of this Numeric. More...
 
virtual Numeric::Ptr round (const DynamicContext *context) const =0
 Rounds this Numeric. More...
 
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. More...
 
virtual Numeric::Ptr invert (const DynamicContext *context) const =0
 Returns the Additive inverse of this Numeric. More...
 
virtual Numeric::Ptr abs (const DynamicContext *context) const =0
 Returns the absolute value of this Numeric. More...
 
virtual Numeric::Ptr sqrt (const DynamicContext *context) const =0
 Returns the squart root of this Numeric. More...
 
virtual Numeric::Ptr sin (const DynamicContext *context) const =0
 Returns the sin of this Numeric. More...
 
virtual Numeric::Ptr cos (const DynamicContext *context) const =0
 Returns the cos root of this Numeric. More...
 
virtual Numeric::Ptr tan (const DynamicContext *context) const =0
 Returns the tan of this Numeric. More...
 
virtual Numeric::Ptr asin (const DynamicContext *context) const =0
 Returns the asin of this Numeric. More...
 
virtual Numeric::Ptr acos (const DynamicContext *context) const =0
 Returns the acos of this Numeric. More...
 
virtual Numeric::Ptr atan (const DynamicContext *context) const =0
 Returns the atan of this Numeric. More...
 
virtual Numeric::Ptr log (const DynamicContext *context) const =0
 Returns the ln of this Numeric. More...
 
virtual Numeric::Ptr exp (const DynamicContext *context) const =0
 Returns the exp of this Numeric. More...
 
virtual Numeric::Ptr power (const Numeric::Ptr &other, const DynamicContext *context) const =0
 Returns a Numeric object which is this raised to the power of other. More...
 
virtual bool isZero () const =0
 Does this Numeric have value 0? More...
 
virtual bool isPositive () const =0
 Is this Numeric positive? More...
 
virtual bool isNegative () const =0
 Is this Numeric negative? More...
 
virtual bool isNaN () const =0
 
virtual bool isInfinite () const =0
 
virtual bool isInteger () const
 
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
 
- Public Member Functions inherited from AnyAtomicType
virtual bool isAtomicValue () const
 
virtual bool isNode () const
 
virtual bool isFunction () const
 
virtual bool isDateOrTimeTypeValue () const
 
virtual const XMLCh * getPrimitiveTypeURI () const
 
virtual void generateEvents (EventHandler *events, const DynamicContext *context, bool preserveNS=true, bool preserveType=true) const
 Generate events for this Item to the given EventHandler. More...
 
AnyAtomicType::Ptr castAs (AtomicObjectType targetIndex, const DynamicContext *context) const
 
AnyAtomicType::Ptr castAsNoCheck (AtomicObjectType targetIndex, const XMLCh *targetURI, const XMLCh *targetType, const DynamicContext *context) const
 
AnyAtomicType::Ptr castAs (AtomicObjectType targetIndex, const XMLCh *targetURI, const XMLCh *targetType, const DynamicContext *context) const
 
virtual bool castable (AtomicObjectType targetIndex, const XMLCh *targetURI, const XMLCh *targetType, const DynamicContext *context) const
 
virtual bool isOfType (const XMLCh *targetURI, const XMLCh *targetType, const DynamicContext *context) const
 
virtual bool isInstanceOfType (const XMLCh *targetURI, const XMLCh *targetType, const StaticContext *context) const
 
virtual void typeToBuffer (DynamicContext *context, xercesc::XMLBuffer &buffer) const
 Debug method to output the type of the item in SequenceType notation. More...
 
bool castIsSupported (AtomicObjectType targetIndex, const DynamicContext *context) const
 Returns true if (a) both the input type and the target type are built-in schema types and cast is supported for the combination. More...
 
- Public Member Functions inherited from Item
virtual void * getInterface (const XMLCh *name) const =0
 Method for returning arbitrary interfaces from the implementations. More...
 
- Public Member Functions inherited from ReferenceCounted
 ReferenceCounted ()
 
virtual ~ReferenceCounted ()
 
void incrementRefCount () const
 Increment the reference count. More...
 
virtual void decrementRefCount () const
 Decrement the reference count, deleting if it becomes zero. More...
 
unsigned int getRefCount () const
 

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 []
 
- Static Public Attributes inherited from AnyAtomicType
static const XMLCh fgDT_ANYATOMICTYPE []
 
- Static Public Attributes inherited from Item
static const XMLCh gXQilla []
 The "XQilla" item interface. More...
 

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
 
- Protected Member Functions inherited from Item
 Item ()
 

Additional Inherited Members

- Protected Attributes inherited from ReferenceCounted
unsigned int _ref_count
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
NEG_INF 
NEG_NUM 
NUM 
INF 
NaN 

Member Function Documentation

virtual Numeric::Ptr Numeric::abs ( const DynamicContext context) const
pure virtual

Returns the absolute value of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::acos ( const DynamicContext context) const
pure virtual

Returns the acos of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

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.

static const XMLCh* Numeric::asDecimalString ( const MAPM &  value,
int  significantDigits,
const StaticContext context 
)
static
const XMLCh* Numeric::asDecimalString ( int  significantDigits,
const StaticContext context 
) const
protected
virtual double Numeric::asDouble ( ) const
virtual
static const XMLCh* Numeric::asDoubleString ( State  state,
const MAPM &  value,
int  significantDigits,
const StaticContext context 
)
static
const XMLCh* Numeric::asDoubleString ( int  significantDigits,
const StaticContext context 
) const
protected
virtual Numeric::Ptr Numeric::asin ( const DynamicContext context) const
pure virtual

Returns the asin of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

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 Numeric::Ptr Numeric::atan ( const DynamicContext context) const
pure virtual

Returns the atan of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual AnyAtomicType::Ptr Numeric::castAsInternal ( AtomicObjectType  targetIndex,
const XMLCh *  targetURI,
const XMLCh *  targetType,
const DynamicContext context 
) const
protectedvirtual

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::cos ( const DynamicContext context) const
pure virtual

Returns the cos root of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

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::exp ( const DynamicContext context) const
pure virtual

Returns the exp of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

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::isInteger ( ) const
virtual
virtual bool Numeric::isNaN ( ) const
pure virtual
virtual bool Numeric::isNegative ( ) const
pure virtual

Is this Numeric negative?

Implemented in ATFloatOrDerived, and ATDecimalOrDerived.

virtual bool Numeric::isNumericValue ( ) const
inlinevirtual

Reimplemented from AnyAtomicType.

virtual bool Numeric::isPositive ( ) const
pure virtual

Is this Numeric positive?

Implemented in ATDoubleOrDerived, ATFloatOrDerived, and ATDecimalOrDerived.

virtual bool Numeric::isZero ( ) const
pure virtual

Does this Numeric have value 0?

Implemented in ATDoubleOrDerived, ATFloatOrDerived, and ATDecimalOrDerived.

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::log ( const DynamicContext context) const
pure virtual

Returns the ln of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

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::power ( const Numeric::Ptr other,
const DynamicContext context 
) const
pure virtual

Returns a Numeric object which is this raised to the power of other.

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::sin ( const DynamicContext context) const
pure virtual

Returns the sin of this Numeric.

Implemented in ATDecimalOrDerived, ATDoubleOrDerived, and ATFloatOrDerived.

virtual Numeric::Ptr Numeric::sqrt ( const DynamicContext context) const
pure virtual

Returns the squart root of this Numeric.

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.

virtual Numeric::Ptr Numeric::tan ( const DynamicContext context) const
pure virtual

Returns the tan of this Numeric.

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: