re PR fortran/16303 (Complex logarithm function sometimes chooses a non-principal...
authorPaul Brook <paul@codesourcery.com>
Sun, 11 Jul 2004 16:05:08 +0000 (16:05 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Sun, 11 Jul 2004 16:05:08 +0000 (16:05 +0000)
PR fortran/16303
* m4/cexp.m4 (carg): Return -pi to pi.
* generated/exp_c?.c: Regenerate.

From-SVN: r84516

libgfortran/ChangeLog
libgfortran/generated/exp_c4.c
libgfortran/generated/exp_c8.c
libgfortran/m4/cexp.m4

index 8458be34da262920519a37710e902052fd5e6dea..eb4b29c6866680c8c9e0a08adffc2ee6813ff670 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-11  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/16303
+       * m4/cexp.m4 (carg): Return -pi to pi.
+       * generated/exp_c?.c: Regenerate.
+
 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        PR fortran/16291
index d95213446ee261d4554424f7f96c624017b36180..06e0103e3d8d05cd7378459c4dbe40ebbbdae233 100644 (file)
@@ -30,17 +30,14 @@ cabsf (GFC_COMPLEX_4 z)
   return hypotf (REALPART (z), IMAGPART (z));
 }
 
-/* Complex argument.  The angle made with the +ve real axis.  Range 0-2pi.  */
+/* Complex argument.  The angle made with the +ve real axis.
+   Range -pi-pi.  */
 GFC_REAL_4
 cargf (GFC_COMPLEX_4 z)
 {
   GFC_REAL_4 arg;
 
-  arg = atan2f (IMAGPART (z), REALPART (z));
-  if (arg < 0)
-    return arg + 2 * M_PI;
-  else
-    return arg;
+  return atan2f (IMAGPART (z), REALPART (z));
 }
 
 /* exp(z) = exp(a)*(cos(b) + isin(b))  */
index 74cbbdc5145c7426eb5ee70815cb92b9423dc874..5bd96495b96ece6629fbef98122b390354a2180e 100644 (file)
@@ -30,17 +30,14 @@ cabs (GFC_COMPLEX_8 z)
   return hypot (REALPART (z), IMAGPART (z));
 }
 
-/* Complex argument.  The angle made with the +ve real axis.  Range 0-2pi.  */
+/* Complex argument.  The angle made with the +ve real axis.
+   Range -pi-pi.  */
 GFC_REAL_8
 carg (GFC_COMPLEX_8 z)
 {
   GFC_REAL_8 arg;
 
-  arg = atan2 (IMAGPART (z), REALPART (z));
-  if (arg < 0)
-    return arg + 2 * M_PI;
-  else
-    return arg;
+  return atan2 (IMAGPART (z), REALPART (z));
 }
 
 /* exp(z) = exp(a)*(cos(b) + isin(b))  */
index 1d22b089a9291adbd1a61b99065a0f84a9577b1b..c91945051e3398290ad5ef0f967f90ca11aed9e8 100644 (file)
@@ -31,17 +31,14 @@ cabs`'q (complex_type z)
   return hypot`'q (REALPART (z), IMAGPART (z));
 }
 
-/* Complex argument.  The angle made with the +ve real axis.  Range 0-2pi.  */
+/* Complex argument.  The angle made with the +ve real axis.
+   Range -pi-pi.  */
 real_type
 carg`'q (complex_type z)
 {
   real_type arg;
 
-  arg = atan2`'q (IMAGPART (z), REALPART (z));
-  if (arg < 0)
-    return arg + 2 * M_PI;
-  else
-    return arg;
+  return atan2`'q (IMAGPART (z), REALPART (z));
 }
 
 /* exp(z) = exp(a)*(cos(b) + isin(b))  */