stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r650933 - /stdcxx/trunk/src/num_put.cpp
Date Wed, 23 Apr 2008 16:48:10 GMT
faridz@apache.org 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 <farid_zaripov@epam.com>
> 
> 	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
>  
> 
> 


Mime
View raw message