+2014-04-11 Marc Glisse <marc.glisse@inria.fr>
+
+ * include/std/complex (__complex_exp, pow): Specify the template
+ parameter in calls to std::polar, for expression templates.
+
2014-04-10 Andreas Schwab <schwab@suse.de>
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
template<typename _Tp>
inline complex<_Tp>
__complex_exp(const complex<_Tp>& __z)
- { return std::polar(exp(__z.real()), __z.imag()); }
+ { return std::polar<_Tp>(exp(__z.real()), __z.imag()); }
#if _GLIBCXX_USE_C99_COMPLEX
inline __complex__ float
return pow(__x.real(), __y);
complex<_Tp> __t = std::log(__x);
- return std::polar(exp(__y * __t.real()), __y * __t.imag());
+ return std::polar<_Tp>(exp(__y * __t.real()), __y * __t.imag());
}
template<typename _Tp>
inline complex<_Tp>
pow(const _Tp& __x, const complex<_Tp>& __y)
{
- return __x > _Tp() ? std::polar(pow(__x, __y.real()),
- __y.imag() * log(__x))
+ return __x > _Tp() ? std::polar<_Tp>(pow(__x, __y.real()),
+ __y.imag() * log(__x))
: std::pow(complex<_Tp>(__x), __y);
}