[EMAIL PROTECTED] wrote:
Author: faridz
Date: Wed Apr 23 09:25:44 2008
New Revision: 650933
URL: http://svn.apache.org/viewvc?rev=650933&view=rev
Log:
2008-04-23 Farid Zaripov <[EMAIL PROTECTED]>
STDCXX-880
* src/num_put.cpp [_RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE]: Call double
type overload
from long double type overload when sizeof (double) == sizeof (long
double).
What about __rw_fmat_infinite()? Do we need overloads for float
and long double or is the conversion from those two types safe
(as in doesn't trigger traps or floating exceptions) and
adequately efficient?
Martin
Modified:
stdcxx/trunk/src/num_put.cpp
Modified: stdcxx/trunk/src/num_put.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/src/num_put.cpp?rev=650933&r1=650932&r2=650933&view=diff
==============================================================================
--- stdcxx/trunk/src/num_put.cpp (original)
+++ stdcxx/trunk/src/num_put.cpp Wed Apr 23 09:25:44 2008
@@ -196,6 +196,22 @@
#ifndef _RWSTD_NO_LONG_DOUBLE
+# if _RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE
+
+inline bool __rw_isfinite (long double x) { return __rw_isfinite (double (x));
}
+
+inline bool __rw_signbit (long double x) { return __rw_signbit (double (x)); }
+
+inline bool __rw_isinf (long double x) { return __rw_isinf (double (x)); }
+
+inline bool __rw_isnan (long double x) { return __rw_isnan (double (x)); }
+
+inline bool __rw_isqnan (long double x) { return __rw_isqnan (double (x)); }
+
+inline bool __rw_issnan (long double x) { return __rw_issnan (double (x)); }
+
+# else // _RWSTD_DBL_SIZE != _RWSTD_LDBL_SIZE
+
inline bool __rw_isfinite (long double) { return true; }
inline bool __rw_signbit (long double) { return false; }
@@ -207,6 +223,8 @@
inline bool __rw_isqnan (long double) { return false; }
inline bool __rw_issnan (long double) { return false; }
+
+# endif // _RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE
#endif // _RWSTD_NO_LONG_DOUBLE