You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2005/10/08 00:40:28 UTC
cvs commit: xml-xalan/c/src/xalanc/PlatformSupport DoubleSupport.cpp DoubleSupport.hpp
dbertoni 2005/10/07 15:40:28
Modified: c/src/xalanc/PlatformSupport DoubleSupport.cpp
DoubleSupport.hpp
Log:
Fixes for XALANC-511.
Revision Changes Path
1.12 +30 -3 xml-xalan/c/src/xalanc/PlatformSupport/DoubleSupport.cpp
Index: DoubleSupport.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/PlatformSupport/DoubleSupport.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- DoubleSupport.cpp 14 Jun 2005 19:49:49 -0000 1.11
+++ DoubleSupport.cpp 7 Oct 2005 22:40:28 -0000 1.12
@@ -19,7 +19,9 @@
#include <clocale>
#include <cmath>
-
+#if !defined(XALAN_NO_STD_NUMERIC_LIMITS)
+#include <limits>
+#endif
#include "DOMStringHelper.hpp"
@@ -31,7 +33,18 @@
+#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
DoubleSupport::NumberUnion DoubleSupport::s_NaN;
+#else
+const DoubleSupport::NumberUnion DoubleSupport::s_NaN =
+{
+#if defined(XALAN_NO_STD_NAMESPACE)
+ numeric_limits<double>::quiet_NaN()
+#else
+ std::numeric_limits<double>::quiet_NaN()
+#endif
+};
+#endif
const DoubleSupport::NumberUnion DoubleSupport::s_positiveInfinity = { HUGE_VAL };
@@ -46,6 +59,7 @@
void
DoubleSupport::initialize()
{
+#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
// We initialize this at here because some
// platforms have had issues with signals
// if we call sqrt(-2.01) during static
@@ -55,6 +69,13 @@
#else
s_NaN.d = sqrt(-2.01);
#endif
+#else
+ #if defined(XALAN_NO_STD_NAMESPACE)
+ XALAN_STATIC_ASSERT(numeric_limits<double>::is_iec559);
+ #else
+ XALAN_STATIC_ASSERT(std::numeric_limits<double>::is_iec559);
+ #endif
+#endif
}
@@ -62,7 +83,9 @@
void
DoubleSupport::terminate()
{
+#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
s_NaN.d = 0.0L;
+#endif
}
@@ -301,6 +324,8 @@
}
}
+
+
double
DoubleSupport::abs(double theDouble)
{
@@ -317,6 +342,8 @@
}
}
+
+
double
DoubleSupport::toDouble(
const XalanDOMString& theString,
@@ -482,7 +509,7 @@
#if defined(XALAN_NON_ASCII_PLATFORM)
-void
+static void
translateWideString(
const XalanDOMChar* theWideString,
char* theNarrowString,
@@ -642,7 +669,7 @@
-double
+inline double
doConvert(
const XalanDOMChar* theString,
MemoryManager& theManager)
1.10 +5 -0 xml-xalan/c/src/xalanc/PlatformSupport/DoubleSupport.hpp
Index: DoubleSupport.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/PlatformSupport/DoubleSupport.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DoubleSupport.hpp 14 Jun 2005 19:49:49 -0000 1.9
+++ DoubleSupport.hpp 7 Oct 2005 22:40:28 -0000 1.10
@@ -623,7 +623,12 @@
private:
+#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
static NumberUnion s_NaN;
+#else
+ static const NumberUnion s_NaN;
+#endif
+
static const NumberUnion s_positiveInfinity;
static const NumberUnion s_negativeInfinity;
static const NumberUnion s_positiveZero;
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org