[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog numbers.c
From: |
Mikael Djurfeldt |
Subject: |
guile/guile-core/libguile ChangeLog numbers.c |
Date: |
Thu, 20 Sep 2001 14:53:32 -0400 |
CVSROOT: /cvs
Module name: guile
Changes by: Mikael Djurfeldt <address@hidden> 01/09/20 14:53:32
Modified files:
guile-core/libguile: ChangeLog numbers.c
Log message:
* numbers.c (scm_integer_expt): Accept inexact integer in second
argument. (Thanks to Bill Schottstaedt.)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&tr1=1.1512&tr2=1.1513&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/numbers.c.diff?cvsroot=OldCVS&tr1=1.140&tr2=1.141&r1=text&r2=text
Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1512
guile/guile-core/libguile/ChangeLog:1.1513
--- guile/guile-core/libguile/ChangeLog:1.1512 Thu Sep 20 12:47:25 2001
+++ guile/guile-core/libguile/ChangeLog Thu Sep 20 14:53:32 2001
@@ -1,3 +1,8 @@
+2001-09-20 Mikael Djurfeldt <address@hidden>
+
+ * numbers.c (scm_integer_expt): Accept inexact integer in second
+ argument. (Thanks to Bill Schottstaedt.)
+
2001-09-20 Rob Browning <address@hidden>
* .cvsignore: add version.h
Index: guile/guile-core/libguile/numbers.c
diff -u guile/guile-core/libguile/numbers.c:1.140
guile/guile-core/libguile/numbers.c:1.141
--- guile/guile-core/libguile/numbers.c:1.140 Sat Sep 1 13:17:50 2001
+++ guile/guile-core/libguile/numbers.c Thu Sep 20 14:53:32 2001
@@ -1118,7 +1118,15 @@
else if (SCM_EQ_P (n, SCM_MAKINUM (-1L)))
return SCM_FALSEP (scm_even_p (k)) ? n : acc;
#endif
- SCM_VALIDATE_ULONG_COPY (2,k,i2);
+ if (SCM_REALP (k))
+ {
+ double r = SCM_REAL_VALUE (k);
+ i2 = r;
+ if (i2 != r)
+ SCM_WRONG_TYPE_ARG (2, k);
+ }
+ else
+ SCM_VALIDATE_ULONG_COPY (2,k,i2);
if (i2 < 0)
{
i2 = -i2;
- guile/guile-core/libguile ChangeLog numbers.c,
Mikael Djurfeldt <=