aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-07-11 16:05:08 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-07-11 16:05:08 +0000
commit1e38f159295f7d09b6dc6452a75c0b069ecd550a (patch)
tree144a61914c89a3020dfa232c9d49f8345b752d4f /libgfortran
parent0bbf5891c10b86aa602c669d50f1e0ec9455eb56 (diff)
downloadgcc-1e38f159295f7d09b6dc6452a75c0b069ecd550a.zip
gcc-1e38f159295f7d09b6dc6452a75c0b069ecd550a.tar.gz
gcc-1e38f159295f7d09b6dc6452a75c0b069ecd550a.tar.bz2
re PR fortran/16303 (Complex logarithm function sometimes chooses a non-principal branch)
PR fortran/16303 * m4/cexp.m4 (carg): Return -pi to pi. * generated/exp_c?.c: Regenerate. From-SVN: r84516
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/generated/exp_c4.c9
-rw-r--r--libgfortran/generated/exp_c8.c9
-rw-r--r--libgfortran/m4/cexp.m49
4 files changed, 15 insertions, 18 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 8458be3..eb4b29c 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -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
diff --git a/libgfortran/generated/exp_c4.c b/libgfortran/generated/exp_c4.c
index d952134..06e0103 100644
--- a/libgfortran/generated/exp_c4.c
+++ b/libgfortran/generated/exp_c4.c
@@ -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)) */
diff --git a/libgfortran/generated/exp_c8.c b/libgfortran/generated/exp_c8.c
index 74cbbdc..5bd9649 100644
--- a/libgfortran/generated/exp_c8.c
+++ b/libgfortran/generated/exp_c8.c
@@ -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)) */
diff --git a/libgfortran/m4/cexp.m4 b/libgfortran/m4/cexp.m4
index 1d22b08..c919450 100644
--- a/libgfortran/m4/cexp.m4
+++ b/libgfortran/m4/cexp.m4
@@ -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)) */