summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/std/std_complex.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/std/std_complex.h')
-rw-r--r--libstdc++-v3/include/std/std_complex.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h
index fb8122cfcad..694acdc41c9 100644
--- a/libstdc++-v3/include/std/std_complex.h
+++ b/libstdc++-v3/include/std/std_complex.h
@@ -966,14 +966,20 @@ namespace std
{ return __builtin_cpow(__x, __y); }
inline __complex__ long double
- __complex_pow(__complex__ long double& __x, __complex__ long double& __y)
+ __complex_pow(const __complex__ long double& __x,
+ const __complex__ long double& __y)
{ return __builtin_cpowl(__x, __y); }
-#endif
template<typename _Tp>
inline complex<_Tp>
pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
+ { return __complex_pow(__x.__rep(), __y.__rep()); }
+#else
+ template<typename _Tp>
+ inline complex<_Tp>
+ pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return __complex_pow(__x, __y); }
+#endif
template<typename _Tp>
inline complex<_Tp>
OpenPOWER on IntegriCloud