diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 81c4ad31f..602f1fc92 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,11 @@ +2000-05-10 Dirk Herrmann + + * numbers.c: No need to include unif.h. + + (IS_INF): Returned to old test for now: x == x + 1 will not work + for large numbers due to rounding errors. + Thanks to Kalle Olavi Niemitalo. + 2000-05-09 Dirk Herrmann * numbers.c (scm_divbigdig): Removed outdated comment. diff --git a/libguile/numbers.c b/libguile/numbers.c index 5fa35f825..bd40ae670 100644 --- a/libguile/numbers.c +++ b/libguile/numbers.c @@ -47,7 +47,6 @@ #include #include #include "libguile/_scm.h" -#include "libguile/unif.h" #include "libguile/feature.h" #include "libguile/ports.h" #include "libguile/root.h" @@ -74,7 +73,7 @@ static SCM scm_divbigint (SCM x, long z, int sgn, int mode); /* IS_INF tests its floating point number for infiniteness */ #ifndef IS_INF -#define IS_INF(x) ((x) == (x) + 1) +#define IS_INF(x) ((x) == (x) / 2) #endif /* Return true if X is not infinite and is not a NaN