summaryrefslogtreecommitdiff
path: root/lib/libm/complex
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2010-09-20 17:51:38 +0000
committerchristos <christos@NetBSD.org>2010-09-20 17:51:38 +0000
commitfda2d7ca9f14e24f87e44ca2008f218dd76ce6a3 (patch)
tree0659310c30830f864dcd98c251aac6f92cf2c633 /lib/libm/complex
parentc80a34bc23fbf7d530d632fccedb74f695bc0f65 (diff)
deal with infinity on the vax.
Diffstat (limited to 'lib/libm/complex')
-rw-r--r--lib/libm/complex/cproj.c8
-rw-r--r--lib/libm/complex/cprojf.c8
-rw-r--r--lib/libm/complex/cprojl.c8
3 files changed, 18 insertions, 6 deletions
diff --git a/lib/libm/complex/cproj.c b/lib/libm/complex/cproj.c
index b5eed835177..7c0322a9e6f 100644
--- a/lib/libm/complex/cproj.c
+++ b/lib/libm/complex/cproj.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cproj.c,v 1.2 2010/09/20 16:53:30 christos Exp $ */
+/* $NetBSD: cproj.c,v 1.3 2010/09/20 17:51:38 christos Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -26,7 +26,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: cproj.c,v 1.2 2010/09/20 16:53:30 christos Exp $");
+__RCSID("$NetBSD: cproj.c,v 1.3 2010/09/20 17:51:38 christos Exp $");
#include <complex.h>
#include <math.h>
@@ -51,7 +51,11 @@ cproj(double complex z)
double_complex w = { .z = z };
if (isinf(creal(z) || isinf(cimag(z)))) {
+#ifdef __INFINITY
+ REAL_PART(w) = __INFINITY;
+#else
REAL_PART(w) = INFINITY;
+#endif
IMAG_PART(w) = copysign(0.0, cimag(z));
}
diff --git a/lib/libm/complex/cprojf.c b/lib/libm/complex/cprojf.c
index e18eafab065..0c0e6182714 100644
--- a/lib/libm/complex/cprojf.c
+++ b/lib/libm/complex/cprojf.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cprojf.c,v 1.2 2010/09/20 16:53:30 christos Exp $ */
+/* $NetBSD: cprojf.c,v 1.3 2010/09/20 17:51:38 christos Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -26,7 +26,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: cprojf.c,v 1.2 2010/09/20 16:53:30 christos Exp $");
+__RCSID("$NetBSD: cprojf.c,v 1.3 2010/09/20 17:51:38 christos Exp $");
#include <complex.h>
#include <math.h>
@@ -52,7 +52,11 @@ cprojf(float complex z)
float_complex w = { .z = z };
if (isinf(crealf(z) || isinf(cimagf(z)))) {
+#ifdef __INFINITY
+ REAL_PART(w) = __INFINITY;
+#else
REAL_PART(w) = INFINITY;
+#endif
IMAG_PART(w) = copysignf(0.0, cimagf(z));
}
diff --git a/lib/libm/complex/cprojl.c b/lib/libm/complex/cprojl.c
index 96f733d0ed4..5ce07ac08ff 100644
--- a/lib/libm/complex/cprojl.c
+++ b/lib/libm/complex/cprojl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cprojl.c,v 1.3 2010/09/20 16:53:30 christos Exp $ */
+/* $NetBSD: cprojl.c,v 1.4 2010/09/20 17:51:38 christos Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -26,7 +26,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: cprojl.c,v 1.3 2010/09/20 16:53:30 christos Exp $");
+__RCSID("$NetBSD: cprojl.c,v 1.4 2010/09/20 17:51:38 christos Exp $");
#include <complex.h>
#include <math.h>
@@ -51,7 +51,11 @@ cprojl(long double complex z)
long_double_complex w = { .z = z };
if (isinf(creall(z) || isinf(cimagl(z)))) {
+#ifdef __INFINITY
+ REAL_PART(w) = __INFINITY;
+#else
REAL_PART(w) = INFINITY;
+#endif
IMAG_PART(w) = copysignl(0.0, cimagl(z));
}