From 1391186a6f7ce810c2ea9b44e97f9ab5ca82f2b1 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 4 May 2017 08:40:59 +0000 Subject: [PATCH] Inline (exact?) and (exact-integer?) --- scheme/base.sld | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scheme/base.sld b/scheme/base.sld index 9fe1d30c..8fe662f7 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -208,6 +208,7 @@ ;;;; ) (inline + exact-integer? square quotient numerator @@ -1155,7 +1156,13 @@ if (obj_is_int(num) || type_of(num) == integer_tag || type_of(num) == bignum_tag) return_closcall1(data, k, boolean_t); - return_closcall1(data, k, boolean_f); ") + return_closcall1(data, k, boolean_f); " + "(void *data, object ptr, object num)" + " Cyc_check_num(data, num); + if (obj_is_int(num) || type_of(num) == integer_tag + || type_of(num) == bignum_tag) + return boolean_t; + return boolean_f;") (define (inexact? num) (not (exact? num))) (define complex? number?) (define rational? number?)