summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2007-09-02 22:25:41 +0000
committerKevin Ryde <user42@zip.com.au>2007-09-02 22:25:41 +0000
commit1cd24a39427d17df1db5ed6d610b1705d4a921e5 (patch)
tree0b5381cd9338668a26738a817f08f7e8ee3f9a91
parent1f41cbac0b1736af46208231bccf59f6178320c9 (diff)
downloadguile-1cd24a39427d17df1db5ed6d610b1705d4a921e5.tar.gz
(scm_log): Test HAVE_CLOG as well as HAVE_COMPLEX_DOUBLE
before using clog(). It's possible for gcc to provide the "complex double" type, but for the system not to have the complex funcs. (scm_exp): Ditto HAVE_CEXP for cexp().
-rw-r--r--libguile/numbers.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/numbers.c b/libguile/numbers.c
index a0ef29cdd..97b766699 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007 Free Software Foundation, Inc.
*
* Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories
* and Bellcore. See scm_divide.
@@ -6011,7 +6011,7 @@ SCM_DEFINE (scm_log, "log", 1, 0, 0,
{
if (SCM_COMPLEXP (z))
{
-#if HAVE_COMPLEX_DOUBLE
+#if HAVE_COMPLEX_DOUBLE && HAVE_CLOG
return scm_from_complex_double (clog (SCM_COMPLEX_VALUE (z)));
#else
double re = SCM_COMPLEX_REAL (z);
@@ -6077,7 +6077,7 @@ SCM_DEFINE (scm_exp, "exp", 1, 0, 0,
{
if (SCM_COMPLEXP (z))
{
-#if HAVE_COMPLEX_DOUBLE
+#if HAVE_COMPLEX_DOUBLE && HAVE_CEXP
return scm_from_complex_double (cexp (SCM_COMPLEX_VALUE (z)));
#else
return scm_c_make_polar (exp (SCM_COMPLEX_REAL (z)),