From eab72f6ab7cf522ecc205f356df9da0fb15dedfb Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 23 Feb 2010 22:25:04 +0000 Subject: [PATCH] handle integer(0.0/0.0) (obs from David Vaz). --- C/arith1.c | 11 +++++++++++ packages/jpl | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/C/arith1.c b/C/arith1.c index e380451bd..980301c4f 100644 --- a/C/arith1.c +++ b/C/arith1.c @@ -555,6 +555,17 @@ eval1(Int fi, Term t) { case db_ref_e: RERROR(); } +#if HAVE_ISNAN + if (isnan(dbl)) { + return Yap_ArithError(DOMAIN_ERROR_OUT_OF_RANGE, t, "integer(%f)", dbl); + } +#endif +#if HAVE_ISNAN + if (isinf(dbl)) { + return Yap_ArithError(EVALUATION_ERROR_INT_OVERFLOW, MkFloatTerm(dbl), "integer\ +(%f)",dbl); + } +#endif if (dbl <= (Float)Int_MAX && dbl >= (Float)Int_MIN) { RINT((Int) dbl); } else { diff --git a/packages/jpl b/packages/jpl index d9614e99d..9f80255cc 160000 --- a/packages/jpl +++ b/packages/jpl @@ -1 +1 @@ -Subproject commit d9614e99dc98f8546fdc213c9e45003cf6efd520 +Subproject commit 9f80255cce18ee268792631aa1180e19a496346f