summaryrefslogtreecommitdiff
path: root/ace/OS_NS_math.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS_NS_math.inl')
-rw-r--r--ace/OS_NS_math.inl21
1 files changed, 16 insertions, 5 deletions
diff --git a/ace/OS_NS_math.inl b/ace/OS_NS_math.inl
index 6a55a57480a..0637272006b 100644
--- a/ace/OS_NS_math.inl
+++ b/ace/OS_NS_math.inl
@@ -1,24 +1,35 @@
// -*- C++ -*-
+//
// $Id$
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
namespace ACE_OS {
ACE_INLINE double
floor (double x)
{
// This method computes the largest integral value not greater than x.
- return double (static_cast<long> (x));
+ if(x > 0)
+ return static_cast<long> (x);
+ else if (static_cast<long> (x) == x)
+ return x;
+ else
+ return static_cast<long>(x) - 1;
}
ACE_INLINE double
ceil (double x)
{
// This method computes the smallest integral value not less than x.
- const double floor = ACE_OS::floor (x);
- if (floor == x)
- return floor;
+ if (x < 0)
+ return static_cast<long> (x);
+ else if (static_cast<long> (x) == x)
+ return x;
else
- return floor + 1;
+ return static_cast<long> (x) + 1;
}
} // ACE_OS namespace
+
+ACE_END_VERSIONED_NAMESPACE_DECL