diff --git a/racket/collects/racket/math.rkt b/racket/collects/racket/math.rkt index c607a0765a..c453e88c81 100644 --- a/racket/collects/racket/math.rkt +++ b/racket/collects/racket/math.rkt @@ -9,6 +9,10 @@ (provide pi pi.f nan? infinite? + positive-integer? + negative-integer? + nonpositive-integer? + nonnegative-integer? sqr sgn conjugate sinh cosh tanh @@ -30,6 +34,18 @@ (unless (real? x) (raise-argument-error 'infinite? "real?" x)) (or (= x +inf.0) (= x -inf.0))) + (define (positive-integer? x) + (and (integer? x) (positive? x))) + + (define (negative-integer? x) + (and (integer? x) (negative? x))) + + (define (nonpositive-integer? x) + (and (integer? x) (not (positive? x)))) + + (define (nonnegative-integer? x) + (and (integer? x) (not (negative? x)))) + ;; z^2 (define (sqr z) (unless (number? z) (raise-argument-error 'sqr "number?" z))