diff options
author | Marius Vollmer <mvo@zagadka.de> | 2002-11-03 21:57:48 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2002-11-03 21:57:48 +0000 |
commit | 7b3381f44d2d1430312fd6f218db4e9d1748dc8d (patch) | |
tree | e32bb13f532bbb45febde4ad357bdf078d2be43c /libguile/numbers.c | |
parent | eb2c5dcb51cfd7028eace60e90a539cefc691f85 (diff) | |
download | guile-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.c | 2 |
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 |