Add natural? as an alias for nonnegative-integer?

This commit is contained in:
Leif Andersen 2017-03-02 14:32:27 -05:00
parent c7df5f4150
commit 1ac2e77d00
3 changed files with 21 additions and 0 deletions

View File

@ -1298,6 +1298,9 @@ Returns @racket[#t] if @racket[x] is @racket[+inf.0], @racket[-inf.0], @racket[+
Like @racket[exact-nonnegative-integer?], but also returns Like @racket[exact-nonnegative-integer?], but also returns
@racket[#t] for non-negative @racket[inexact?] integers.} @racket[#t] for non-negative @racket[inexact?] integers.}
@defproc[(natural? [x any/c]) boolean?]{
An alias for @racket[nonnegative-integer?].}
@; ---------------------------------------------------------------------- @; ----------------------------------------------------------------------
@close-eval[math-eval] @close-eval[math-eval]
@; ---------------------------------------------------------------------- @; ----------------------------------------------------------------------

View File

@ -174,6 +174,21 @@
(test #f nonnegative-integer? 0.5) (test #f nonnegative-integer? 0.5)
(test #f nonnegative-integer? -5) (test #f nonnegative-integer? -5)
;; =========================================================================
;; natural?
(test #t natural? 1)
(test #t natural? 1.0)
(test #t natural? 3/3)
(test #t natural? 0)
(test #t natural? -0)
(test #t natural? 0.0)
(test #t natural? -0.0)
(test #f natural? 3/2)
(test #f natural? 0.5)
(test #f natural? -5)
;; ========================================================================= ;; =========================================================================
;; sqr ;; sqr

View File

@ -13,6 +13,7 @@
negative-integer? negative-integer?
nonpositive-integer? nonpositive-integer?
nonnegative-integer? nonnegative-integer?
natural?
sqr sqr
sgn conjugate sgn conjugate
sinh cosh tanh sinh cosh tanh
@ -46,6 +47,8 @@
(define (nonnegative-integer? x) (define (nonnegative-integer? x)
(and (integer? x) (not (negative? x)))) (and (integer? x) (not (negative? x))))
(define natural? nonnegative-integer?)
;; z^2 ;; z^2
(define (sqr z) (define (sqr z)
(unless (number? z) (raise-argument-error 'sqr "number?" z)) (unless (number? z) (raise-argument-error 'sqr "number?" z))