22 #ifndef _ATDECIMALORDERIVED_HPP
23 #define _ATDECIMALORDERIVED_HPP
25 #include <xercesc/util/XercesDefs.hpp>
26 #include <xqilla/framework/XQillaExport.hpp>
88 virtual bool isZero()
const = 0;
97 virtual bool isNaN()
const {
return false; }
103 virtual XMLInt32 treatAsCodepoint(
const DynamicContext* context)
const = 0;
107 virtual const MAPM &
asMAPM()
const = 0;
112 #endif // _ATDECIMALORDERIVED_HPP
virtual Numeric::Ptr invert(const DynamicContext *context) const =0
Returns the Additive inverse of this Numeric.
virtual const XMLCh * getTypeName() const =0
virtual State getState() const =0
virtual Numeric::Ptr ceiling(const DynamicContext *context) const =0
Returns the ceiling of this Numeric.
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.
Super class of all the reference counted wrappers for Items.
Definition: ReferenceCounted.hpp:58
virtual bool isPositive() const =0
Is this Numeric positive?
virtual bool isInfinite() const
Definition: ATDecimalOrDerived.hpp:100
Definition: Numeric.hpp:33
virtual Numeric::Ptr round(const DynamicContext *context) const =0
Rounds this Numeric.
AtomicObjectType
Definition: AnyAtomicType.hpp:36
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 AnyAtomicType::AtomicObjectType getPrimitiveTypeIndex() const =0
virtual bool isZero() const =0
Does this Numeric have value 0?
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 const XMLCh * asString(const DynamicContext *context) const =0
virtual const XMLCh * getPrimitiveTypeName() const =0
virtual const XMLCh * getTypeURI() const =0
The execution time dynamic context interface.
Definition: DynamicContext.hpp:39
RefCountPointer< const ATDecimalOrDerived > Ptr
Definition: ATDecimalOrDerived.hpp:34
virtual Numeric::Ptr mod(const Numeric::Ptr &other, const DynamicContext *context) const =0
Returns the arithmetic product of its operands as a Numeric.
virtual bool isNegative() const =0
Is this Numeric negative?
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 floor(const DynamicContext *context) const =0
Returns the floor of this Numeric.
virtual Numeric::Ptr promoteTypeIfApplicable(AnyAtomicType::AtomicObjectType typeIndex, const DynamicContext *context) const =0
virtual bool isNaN() const
Definition: ATDecimalOrDerived.hpp:97
Definition: ATDecimalOrDerived.hpp:31
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 const MAPM & asMAPM() const =0