diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2010-02-22 18:41:55 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2010-02-22 18:41:55 +0000 |
commit | 26504a0f8c9fcd068b61baec7de7c3a719ae3190 (patch) | |
tree | aa527ef31931509d56b1de3c9cff9302a7ab4856 | |
parent | 15d81a3c31b52f5f883a1b2d25b74877c9ed0304 (diff) | |
download | gcc-26504a0f8c9fcd068b61baec7de7c3a719ae3190.zip gcc-26504a0f8c9fcd068b61baec7de7c3a719ae3190.tar.gz gcc-26504a0f8c9fcd068b61baec7de7c3a719ae3190.tar.bz2 |
complex (arg): Use std::signbit only when available.
2010-02-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/complex (arg): Use std::signbit only when
available.
From-SVN: r156972
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1_impl/complex | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 664f57d..d60096a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2010-02-22 Paolo Carlini <paolo.carlini@oracle.com> + * include/tr1_impl/complex (arg): Use std::signbit only when + available. + +2010-02-22 Paolo Carlini <paolo.carlini@oracle.com> + * include/bits/functional_hash.h (hash<string>, hash<wstring>, hash<u16string>, hash<u32string>, hash<error_code>): Move, per DR 1182 to... diff --git a/libstdc++-v3/include/tr1_impl/complex b/libstdc++-v3/include/tr1_impl/complex index ac420bf..aae4a13 100644 --- a/libstdc++-v3/include/tr1_impl/complex +++ b/libstdc++-v3/include/tr1_impl/complex @@ -311,8 +311,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 arg(_Tp __x) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; +#if (_GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) return std::signbit(__x) ? __type(3.1415926535897932384626433832795029L) : __type(); +#else + return std::arg(std::complex<__type>(__x)); +#endif } template<typename _Tp> |