Add predicate and guarantee for exact positive integers.
authorChris Hanson <org/chris-hanson/cph>
Wed, 1 Jan 2003 05:38:34 +0000 (05:38 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 1 Jan 2003 05:38:34 +0000 (05:38 +0000)
v7/src/runtime/arith.scm
v7/src/runtime/runtime.pkg

index f9fb625f174a9ab95c828dd3eb43fbfe96c209cf..f4622cad870ad6bbee78aa5e5af0f97f7d362bea 100644 (file)
@@ -1,8 +1,10 @@
 #| -*-Scheme-*-
 
-$Id: arith.scm,v 1.52 2003/01/01 02:35:50 cph Exp $
+$Id: arith.scm,v 1.53 2003/01/01 05:38:22 cph Exp $
 
-Copyright (c) 1989-1999, 2001, 2002 Massachusetts Institute of Technology
+Copyright (c) 1989,1990,1991,1992,1993 Massachusetts Institute of Technology
+Copyright (c) 1994,1995,1996,1997,1999 Massachusetts Institute of Technology
+Copyright (c) 2001,2002,2003 Massachusetts Institute of Technology
 
 This file is part of MIT Scheme.
 
@@ -1780,12 +1782,16 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 (define exact-rational? rat:rational?)
 (define exact-integer? int:integer?)
 
+(define (inexact? z)
+  (not (complex:exact? z)))
+
 (define (exact-nonnegative-integer? object)
   (and (int:integer? object)
        (not (int:negative? object))))
 
-(define (inexact? z)
-  (not (complex:exact? z)))
+(define (exact-positive-integer? object)
+  (and (int:integer? object)
+       (int:positive? object)))
 
 (let-syntax
     ((define-guarantee
@@ -1806,8 +1812,9 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   (define-guarantee exact "exact number")
   (define-guarantee exact-rational "exact rational number")
   (define-guarantee exact-integer "exact integer")
+  (define-guarantee inexact "inexact number")
   (define-guarantee exact-nonnegative-integer "exact non-negative integer")
-  (define-guarantee inexact "inexact number"))
+  (define-guarantee exact-positive-integer "exact positive integer"))
 \f
 ;; Replaced with arity-dispatched version in INITIALIZE-PACKAGE!
 
index 3b6c60924887fbd9da27c8c11ece9ea8000c96dc..0b459ae8b06de1417ae87a95104d86fccce63a21 100644 (file)
@@ -1,8 +1,11 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.418 2003/01/01 02:36:10 cph Exp $
+$Id: runtime.pkg,v 14.419 2003/01/01 05:38:34 cph Exp $
 
-Copyright (c) 1988-2002 Massachusetts Institute of Technology
+Copyright (c) 1988,1989,1990,1991,1992 Massachusetts Institute of Technology
+Copyright (c) 1993,1994,1995,1996,1997 Massachusetts Institute of Technology
+Copyright (c) 1998,1999,2000,2001,2002 Massachusetts Institute of Technology
+Copyright (c) 2003 Massachusetts Institute of Technology
 
 This file is part of MIT Scheme.
 
@@ -2210,6 +2213,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
          exact->inexact
          exact-integer?
          exact-nonnegative-integer?
+         exact-positive-integer?
          exact-rational?
          exact?
          exp
@@ -2225,6 +2229,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
          guarantee-exact
          guarantee-exact-integer
          guarantee-exact-nonnegative-integer
+         guarantee-exact-positive-integer
          guarantee-exact-rational
          guarantee-inexact
          guarantee-integer