2020-02-17 21:05:20 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title > XQilla Simple API: Numeric.hpp Source File< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
2020-02-17 21:10:06 +00:00
<!-- Generated by Doxygen 1.5.1 -->
2020-02-17 21:05:20 +00:00
< div class = "tabs" >
< ul >
< li > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "classes.html" > < span > Classes< / span > < / a > < / li >
< li id = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< / ul > < / div >
< div class = "tabs" >
< ul >
< li > < a href = "files.html" > < span > File List< / span > < / a > < / li >
< li > < a href = "globals.html" > < span > File Members< / span > < / a > < / li >
< / ul > < / div >
< h1 > Numeric.hpp< / h1 > < a href = "Numeric_8hpp.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre class = "fragment" > < a name = "l00001" > < / a > 00001 < span class = "comment" > /*< / span >
< a name = "l00002" > < / a > 00002 < span class = "comment" > * Copyright (c) 2001-2006< / span >
< a name = "l00003" > < / a > 00003 < span class = "comment" > * DecisionSoft Limited. All rights reserved.< / span >
< a name = "l00004" > < / a > 00004 < span class = "comment" > * Copyright (c) 2004-2006< / span >
< a name = "l00005" > < / a > 00005 < span class = "comment" > * Progress Software Corporation. All rights reserved.< / span >
< a name = "l00006" > < / a > 00006 < span class = "comment" > * Copyright (c) 2004-2006< / span >
< a name = "l00007" > < / a > 00007 < span class = "comment" > * Oracle. All rights reserved.< / span >
< a name = "l00008" > < / a > 00008 < span class = "comment" > *< / span >
< a name = "l00009" > < / a > 00009 < span class = "comment" > * See the file LICENSE for redistribution information.< / span >
< a name = "l00010" > < / a > 00010 < span class = "comment" > *< / span >
< a name = "l00011" > < / a > 00011 < span class = "comment" > * $Id: Numeric.hpp,v 1.12 2006/11/01 16:37:14 jpcs Exp $< / span >
< a name = "l00012" > < / a > 00012 < span class = "comment" > */< / span >
< a name = "l00013" > < / a > 00013
< a name = "l00014" > < / a > 00014 < span class = "preprocessor" > #ifndef __NUMERIC_HPP< / span >
< a name = "l00015" > < / a > 00015 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define __NUMERIC_HPP< / span >
< a name = "l00016" > < / a > 00016 < span class = "preprocessor" > < / span >
< a name = "l00017" > < / a > 00017 < span class = "preprocessor" > #include < xercesc/util/XercesDefs.hpp> < / span >
< a name = "l00018" > < / a > 00018 < span class = "preprocessor" > #include < xqilla/framework/XQillaExport.hpp> < / span >
< a name = "l00019" > < / a > 00019 < span class = "preprocessor" > #include < < a class = "code" href = "AnyAtomicType_8hpp.html" > xqilla/items/AnyAtomicType.hpp< / a > > < / span >
< a name = "l00020" > < / a > 00020
< a name = "l00021" > < / a > 00021 < span class = "keyword" > class < / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > ;
< a name = "l00022" > < / a > 00022 < span class = "keyword" > class < / span > < a class = "code" href = "classStaticContext.html" > StaticContext< / a > ;
< a name = "l00023" > < / a > 00023 < span class = "keyword" > class < / span > MAPM;
< a name = "l00024" > < / a > 00024
< a name = "l00025" > < / a > < a class = "code" href = "classNumeric.html" > 00025< / a > < span class = "keyword" > class < / span > XQILLA_API < a class = "code" href = "classNumeric.html" > Numeric< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classAnyAtomicType.html" > AnyAtomicType< / a >
< a name = "l00026" > < / a > 00026 {
< a name = "l00027" > < / a > 00027 < span class = "keyword" > public< / span > :
< a name = "l00028" > < / a > < a class = "code" href = "classNumeric.html#5dd18e07f90e4fcd85003c4b87833701" > 00028< / a > < span class = "keyword" > typedef< / span > < a class = "code" href = "classRefCountPointer.html" > RefCountPointer< const Numeric> < / a > < a class = "code" href = "classRefCountPointer.html" > Ptr< / a > ;
< a name = "l00029" > < / a > 00029
< a name = "l00030" > < / a > 00030 < span class = "comment" > /* is this type numeric? Return true */< / span >
2020-02-17 21:10:06 +00:00
< a name = "l00031" > < / a > < a class = "code" href = "classNumeric.html#b44cebdda67c05fdded2569ec79828cd" > 00031< / a > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classAnyAtomicType.html#9e6b23bf1bf3721909f6609d98552572" > isNumericValue< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ; };
2020-02-17 21:05:20 +00:00
< a name = "l00032" > < / a > 00032
< a name = "l00033" > < / a > 00033 < span class = "comment" > /* Get the name of the primitive type (basic type) of this type< / span >
< a name = "l00034" > < / a > 00034 < span class = "comment" > * (ie "decimal" for xs:decimal) */< / span >
2020-02-17 21:10:06 +00:00
< a name = "l00035" > < / a > 00035 < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > XMLCh* < a class = "code" href = "classAnyAtomicType.html#a482a57403c472e1c7a69df340dc6649" > getPrimitiveTypeName< / a > () < span class = "keyword" > const < / span > = 0;
2020-02-17 21:05:20 +00:00
< a name = "l00036" > < / a > 00036
< a name = "l00037" > < / a > 00037 < span class = "comment" > /* Get the namespace URI for this type */< / span >
2020-02-17 21:10:06 +00:00
< a name = "l00038" > < / a > 00038 < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > XMLCh* < a class = "code" href = "classAnyAtomicType.html#f6bf3eb4e7d56a982c82afebfda26b3b" > getTypeURI< / a > () < span class = "keyword" > const < / span > = 0;
2020-02-17 21:05:20 +00:00
< a name = "l00039" > < / a > 00039
< a name = "l00040" > < / a > 00040 < span class = "comment" > /* Get the name of this type (ie "integer" for xs:integer) */< / span >
2020-02-17 21:10:06 +00:00
< a name = "l00041" > < / a > 00041 < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > XMLCh* < a class = "code" href = "classAnyAtomicType.html#063dd62c1853c339dc80f5ff48c1b6b4" > getTypeName< / a > () < span class = "keyword" > const < / span > = 0;
2020-02-17 21:05:20 +00:00
< a name = "l00042" > < / a > 00042
< a name = "l00043" > < / a > 00043 < span class = "comment" > /* returns the XMLCh* (canonical) representation of this type */< / span >
< a name = "l00044" > < / a > 00044 < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > XMLCh* < a class = "code" href = "classAnyAtomicType.html#401defae210c75462304e84605a79244" > asString< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00045" > < / a > 00045
< a name = "l00046" > < / a > 00046 < span class = "comment" > /* Promote this to the given type, if possible */< / span >
< a name = "l00047" > < / a > 00047 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > promoteTypeIfApplicable(< span class = "keyword" > const< / span > XMLCh* typeURI, < span class = "keyword" > const< / span > XMLCh* typeName, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00048" > < / a > 00048
< a name = "l00049" > < / a > 00049 < span class = "comment" > /* returns true if the two Numeric values are equal < / span >
< a name = "l00050" > < / a > 00050 < span class = "comment" > * false otherwise */< / span >
2020-02-17 21:10:06 +00:00
< a name = "l00051" > < / a > 00051 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classAnyAtomicType.html#e791665d2cd73da1e6ce1122bce6561b" > equals< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > AnyAtomicType::Ptr< / a > & target, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
2020-02-17 21:05:20 +00:00
< a name = "l00052" > < / a > 00052
< a name = "l00054" > < / a > 00054 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > lessThan(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00055" > < / a > 00055
< a name = "l00057" > < / a > 00057 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > greaterThan(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00058" > < / a > 00058
< a name = "l00061" > < / a > 00061 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > int< / span > compare(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00062" > < / a > 00062
< a name = "l00064" > < / a > 00064 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > add(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00065" > < / a > 00065
< a name = "l00068" > < / a > 00068 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > subtract(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00069" > < / a > 00069
< a name = "l00071" > < / a > 00071 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > multiply(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00072" > < / a > 00072
< a name = "l00074" > < / a > 00074 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > divide(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00075" > < / a > 00075
< a name = "l00077" > < / a > 00077 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > mod(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & other, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00078" > < / a > 00078
< a name = "l00080" > < / a > 00080 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > floor(< span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00081" > < / a > 00081
< a name = "l00083" > < / a > 00083 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > ceiling(< span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00084" > < / a > 00084
< a name = "l00086" > < / a > 00086 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > round(< span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00087" > < / a > 00087
< a name = "l00089" > < / a > 00089 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > roundHalfToEven(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > & precision, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00090" > < / a > 00090
< a name = "l00092" > < / a > 00092 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > Numeric::Ptr< / a > invert(< span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const < / span > = 0;
< a name = "l00093" > < / a > 00093
< a name = "l00095" > < / a > 00095 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > isZero() < span class = "keyword" > const < / span > = 0;
< a name = "l00096" > < / a > 00096
< a name = "l00098" > < / a > 00098 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > isPositive() < span class = "keyword" > const < / span > = 0;
< a name = "l00099" > < / a > 00099
< a name = "l00101" > < / a > 00101 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > isNegative() < span class = "keyword" > const < / span > = 0;
< a name = "l00102" > < / a > 00102
< a name = "l00103" > < / a > 00103 < span class = "comment" > /* Is this floating point value not a number? */< / span >
< a name = "l00104" > < / a > 00104 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > isNaN() < span class = "keyword" > const < / span > = 0;
< a name = "l00105" > < / a > 00105
< a name = "l00106" > < / a > 00106 < span class = "comment" > /* Is this floating point value infinite? */< / span >
< a name = "l00107" > < / a > 00107 < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > isInfinite() < span class = "keyword" > const < / span > = 0;
< a name = "l00108" > < / a > 00108
2020-02-17 21:10:06 +00:00
< a name = "l00109" > < / a > 00109 < span class = "keyword" > virtual< / span > < a class = "code" href = "classAnyAtomicType.html#289c5db5e82b40c2f3e53af7d472f14c" > AnyAtomicType::AtomicObjectType< / a > < a class = "code" href = "classAnyAtomicType.html#b1da6fa7575a7d33396ae706f3d1e8f5" > getPrimitiveTypeIndex< / a > () < span class = "keyword" > const < / span > = 0;
2020-02-17 21:05:20 +00:00
< a name = "l00110" > < / a > 00110
< a name = "l00111" > < / a > 00111 < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > MAPM & asMAPM() < span class = "keyword" > const < / span > = 0;
< a name = "l00112" > < / a > 00112
< a name = "l00113" > < / a > < a class = "code" href = "classNumeric.html#04cdb5bb89f39a9a9eef40a1336c7c89" > 00113< / a > < span class = "keyword" > enum< / span > < a class = "code" href = "classNumeric.html#04cdb5bb89f39a9a9eef40a1336c7c89" > State< / a > {
< a name = "l00114" > < / a > 00114 NEG_INF = 0,
< a name = "l00115" > < / a > 00115 NEG_NUM = 1,
< a name = "l00116" > < / a > 00116 NUM = 2,
< a name = "l00117" > < / a > 00117 INF = 3,
< a name = "l00118" > < / a > 00118 NaN = 4
< a name = "l00119" > < / a > 00119 };
< a name = "l00120" > < / a > 00120
< a name = "l00121" > < / a > 00121 < span class = "keyword" > virtual< / span > State getState() < span class = "keyword" > const < / span > = 0;
< a name = "l00122" > < / a > 00122
< a name = "l00123" > < / a > < a class = "code" href = "classNumeric.html#86887586ce008796325d819c2ba9b1ad" > 00123< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh NaN_string[];
< a name = "l00124" > < / a > < a class = "code" href = "classNumeric.html#4c61cd5b1ed14687361b7409a2936e14" > 00124< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh NAN_string[];
< a name = "l00125" > < / a > < a class = "code" href = "classNumeric.html#938e04f2ca631ce5f6c04d7a5b986a2d" > 00125< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh INF_string[];
< a name = "l00126" > < / a > < a class = "code" href = "classNumeric.html#fa63c2fb65ecb5fe889753c90df20320" > 00126< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh NegINF_string[];
< a name = "l00127" > < / a > < a class = "code" href = "classNumeric.html#de91bb61b5f012f8b46c8bc0b347f46c" > 00127< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh NegZero_string[];
< a name = "l00128" > < / a > < a class = "code" href = "classNumeric.html#bbb81077e2d653726739984027130ebb" > 00128< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh PosZero_string[];
< a name = "l00129" > < / a > 00129
< a name = "l00130" > < / a > 00130 < span class = "keyword" > static< / span > < span class = "keywordtype" > void< / span > checkFloatLimits(< a class = "code" href = "classNumeric.html#04cdb5bb89f39a9a9eef40a1336c7c89" > Numeric::State< / a > & state, MAPM & value);
< a name = "l00131" > < / a > 00131 < span class = "keyword" > static< / span > < span class = "keywordtype" > void< / span > checkDoubleLimits(< a class = "code" href = "classNumeric.html#04cdb5bb89f39a9a9eef40a1336c7c89" > Numeric::State< / a > & state, MAPM & value);
< a name = "l00132" > < / a > 00132
< a name = "l00133" > < / a > 00133 < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh *asDecimalString(< span class = "keyword" > const< / span > MAPM & value, < span class = "keywordtype" > int< / span > significantDigits, < span class = "keyword" > const< / span > < a class = "code" href = "classStaticContext.html" > StaticContext< / a > * context);
< a name = "l00134" > < / a > 00134 < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > XMLCh *asDoubleString(< a class = "code" href = "classNumeric.html#04cdb5bb89f39a9a9eef40a1336c7c89" > State< / a > state, < span class = "keyword" > const< / span > MAPM & value, < span class = "keywordtype" > int< / span > significantDigits, < span class = "keyword" > const< / span > < a class = "code" href = "classStaticContext.html" > StaticContext< / a > * context);
< a name = "l00135" > < / a > 00135
< a name = "l00136" > < / a > 00136 < span class = "keyword" > protected< / span > :
2020-02-17 21:10:06 +00:00
< a name = "l00137" > < / a > 00137 < span class = "keyword" > virtual< / span > < a class = "code" href = "classRefCountPointer.html" > AnyAtomicType::Ptr< / a > < a class = "code" href = "classAnyAtomicType.html#015114cbb5642d33defe120c6b2168ac" > castAsInternal< / a > (< a class = "code" href = "classAnyAtomicType.html#289c5db5e82b40c2f3e53af7d472f14c" > AtomicObjectType< / a > targetIndex, < span class = "keyword" > const< / span > XMLCh* targetURI,
2020-02-17 21:05:20 +00:00
< a name = "l00138" > < / a > 00138 < span class = "keyword" > const< / span > XMLCh* targetType, < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00139" > < / a > 00139
< a name = "l00140" > < / a > 00140 < span class = "keyword" > const< / span > XMLCh *asDecimalString(< span class = "keywordtype" > int< / span > significantDigits, < span class = "keyword" > const< / span > < a class = "code" href = "classStaticContext.html" > StaticContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00141" > < / a > 00141 < span class = "keyword" > const< / span > XMLCh *asDoubleString(< span class = "keywordtype" > int< / span > significantDigits, < span class = "keyword" > const< / span > < a class = "code" href = "classStaticContext.html" > StaticContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00142" > < / a > 00142
< a name = "l00143" > < / a > 00143 };
< a name = "l00144" > < / a > 00144
< a name = "l00145" > < / a > 00145 < span class = "preprocessor" > #endif // __NUMERIC_HPP< / span >
2020-02-17 21:10:06 +00:00
< / pre > < / div > < hr size = "1" > < address style = "align: right;" > < small > Generated on Wed Dec 12 19:13:50 2007 for XQilla Simple API by
2020-02-17 21:05:20 +00:00
< a href = "http://www.doxygen.org/index.html" >
2020-02-17 21:10:06 +00:00
< img src = "doxygen.png" alt = "doxygen" align = "middle" border = "0" > < / a > 1.5.1 < / small > < / address >
2020-02-17 21:05:20 +00:00
< / body >
< / html >