Commit d5c405cc by Paolo Carlini Committed by Paolo Carlini

std_complex.h (log(const complex<_Tp>&)): When _GLIBCXX_USE_C99_COMPLEX, forward…

std_complex.h (log(const complex<_Tp>&)): When _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.

2005-05-30  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_complex.h (log(const complex<_Tp>&)): When
	_GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.

From-SVN: r100376
parent 7f177cf7
2005-05-30 Paolo Carlini <pcarlini@suse.de>
* 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 <pcarlini@suse.de> 2005-05-28 Paolo Carlini <pcarlini@suse.de>
Revert: Revert:
......
...@@ -749,7 +749,7 @@ namespace std ...@@ -749,7 +749,7 @@ namespace std
__complex_log(const complex<_Tp>& __z) __complex_log(const complex<_Tp>& __z)
{ return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); } { return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); }
/* #if _GLIBCXX_USE_C99_COMPLEX
inline __complex__ float inline __complex__ float
__complex_log(__complex__ float __z) { return __builtin_clogf(__z); } __complex_log(__complex__ float __z) { return __builtin_clogf(__z); }
...@@ -758,14 +758,16 @@ namespace std ...@@ -758,14 +758,16 @@ namespace std
inline __complex__ long double inline __complex__ long double
__complex_log(const __complex__ long double& __z) __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 template<typename _Tp>
// obscure user name-space issues. So, we use the generic version inline complex<_Tp>
// which is why we don't use __z.__rep() in the call below. log(const complex<_Tp>& __z) { return __complex_log(__z.__rep()); }
#else
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
log(const complex<_Tp>& __z) { return __complex_log(__z); } log(const complex<_Tp>& __z) { return __complex_log(__z); }
#endif
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment