summaryrefslogtreecommitdiff
path: root/libguile/numbers.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2002-11-03 21:57:48 +0000
committerMarius Vollmer <mvo@zagadka.de>2002-11-03 21:57:48 +0000
commit7b3381f44d2d1430312fd6f218db4e9d1748dc8d (patch)
treee32bb13f532bbb45febde4ad357bdf078d2be43c /libguile/numbers.c
parenteb2c5dcb51cfd7028eace60e90a539cefc691f85 (diff)
downloadguile-7b3381f44d2d1430312fd6f218db4e9d1748dc8d.tar.gz
(scm_integer_expt): Make 0^z == 0 for z != 0. Also for reals.
Diffstat (limited to 'libguile/numbers.c')
-rw-r--r--libguile/numbers.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 4a177ca2c..5e86a5441 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -1246,7 +1246,7 @@ SCM_DEFINE (scm_integer_expt, "integer-expt", 2, 0, 0,
#ifdef SCM_BIGDIG
/* 0^0 == 1 according to R5RS */
if (SCM_EQ_P (n, SCM_INUM0) || SCM_EQ_P (n, acc))
- return SCM_EQ_P (k, SCM_INUM0)? acc : n;
+ return SCM_FALSEP (scm_zero_p(k)) ? n : acc;
else if (SCM_EQ_P (n, SCM_MAKINUM (-1L)))
return SCM_FALSEP (scm_even_p (k)) ? n : acc;
#endif