From d5c405cc717dc39fb20b9dc013400f4da9a143e4 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 30 May 2005 22:02:30 +0000 Subject: [PATCH] std_complex.h (log(const complex<_Tp>&)): When _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl. 2005-05-30 Paolo Carlini * include/std/std_complex.h (log(const complex<_Tp>&)): When _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl. From-SVN: r100376 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/std/std_complex.h | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a572b0bfaa5..31357005d89 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2005-05-30 Paolo Carlini + + * include/std/std_complex.h (log(const complex<_Tp>&)): When + _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl. + 2005-05-28 Paolo Carlini Revert: diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h index 6c1e0033730..80020756789 100644 --- a/libstdc++-v3/include/std/std_complex.h +++ b/libstdc++-v3/include/std/std_complex.h @@ -749,7 +749,7 @@ namespace std __complex_log(const complex<_Tp>& __z) { return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); } - /* +#if _GLIBCXX_USE_C99_COMPLEX inline __complex__ float __complex_log(__complex__ float __z) { return __builtin_clogf(__z); } @@ -758,14 +758,16 @@ namespace std inline __complex__ long double __complex_log(const __complex__ long double& __z) - { return __builtin_clogl(__z); } */ + { return __builtin_clogl(__z); } - // FIXME: Currently we don't use built-ins for log() because of some - // obscure user name-space issues. So, we use the generic version - // which is why we don't use __z.__rep() in the call below. + template + inline complex<_Tp> + log(const complex<_Tp>& __z) { return __complex_log(__z.__rep()); } +#else template inline complex<_Tp> log(const complex<_Tp>& __z) { return __complex_log(__z); } +#endif template inline complex<_Tp> -- 2.30.2