OSDN Git Service

2004-03-11 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Mar 2004 19:05:19 +0000 (19:05 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Mar 2004 19:05:19 +0000 (19:05 +0000)
* include/std/std_complex.h (pow(const complex&, const _Tp&),
pow(const _Tp&, const complex&), pow(const complex&,
const complex&)): Fully qualify with std:: a few calls.
* testsuite/26_numerics/complex/13450.cc: Minor tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79338 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/std_complex.h
libstdc++-v3/testsuite/26_numerics/complex/13450.cc

index 8377536..7668e70 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-11  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/std/std_complex.h (pow(const complex&, const _Tp&),
+       pow(const _Tp&, const complex&), pow(const complex&,
+       const complex&)): Fully qualify with std:: a few calls.
+       * testsuite/26_numerics/complex/13450.cc: Minor tweak.
+
 2004-03-11  Steven Bosscher  <s.bosscher@student.tudelft.nl>
 
        PR libstdc++/11706
 2004-03-11  Steven Bosscher  <s.bosscher@student.tudelft.nl>
 
        PR libstdc++/11706
index d997867..e1027f6 100644 (file)
@@ -708,7 +708,7 @@ namespace std
       if (__x.imag() == _Tp() && __x.real() > _Tp())
         return pow(__x.real(), __y);
 
       if (__x.imag() == _Tp() && __x.real() > _Tp())
         return pow(__x.real(), __y);
 
-      complex<_Tp> __t = log(__x);
+      complex<_Tp> __t = std::log(__x);
       return std::polar(exp(__y * __t.real()), __y * __t.imag());
     }
 
       return std::polar(exp(__y * __t.real()), __y * __t.imag());
     }
 
@@ -716,15 +716,16 @@ namespace std
     inline complex<_Tp>
     pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
     {
     inline complex<_Tp>
     pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
     {
-      return __x == _Tp() ? _Tp() : exp(__y * log(__x));
+      return __x == _Tp() ? _Tp() : std::exp(__y * std::log(__x));
     }
 
   template<typename _Tp>
     inline complex<_Tp>
     pow(const _Tp& __x, const complex<_Tp>& __y)
     {
     }
 
   template<typename _Tp>
     inline complex<_Tp>
     pow(const _Tp& __x, const complex<_Tp>& __y)
     {
-      return __x > _Tp() ? polar(pow(__x, __y.real()), __y.imag() * log(__x))
-                        : pow(complex<_Tp>(__x, _Tp()), __y);
+      return __x > _Tp() ? std::polar(pow(__x, __y.real()),
+                                     __y.imag() * log(__x))
+                        : std::pow(complex<_Tp>(__x, _Tp()), __y);
     }
 
   // 26.2.3  complex specializations
     }
 
   // 26.2.3  complex specializations
index 9df257d..50f4bad 100644 (file)
@@ -29,7 +29,7 @@ template<typename T>
     bool test __attribute__((unused)) = true;
     typedef complex<T> cplx;
 
     bool test __attribute__((unused)) = true;
     typedef complex<T> cplx;
 
-    T eps = numeric_limits<T>::epsilon() * 10;
+    T eps = numeric_limits<T>::epsilon() * 100;
     
     cplx ref = pow(cplx(a, T()), cplx(b, T()));
     cplx res1 = pow(a, cplx(b, T()));
     
     cplx ref = pow(cplx(a, T()), cplx(b, T()));
     cplx res1 = pow(a, cplx(b, T()));