Add the following predicates to racket/math:
- positive-integer? - negative-integer? - nonpositive-integer? - nonnegative-integer? These are like their exact-* counterparts provided by racket/base, but they work for inexact numbers, and not just exact ones.
This commit is contained in:
parent
d08a4cddfb
commit
c911e4b52d
|
@ -9,6 +9,10 @@
|
||||||
|
|
||||||
(provide pi pi.f
|
(provide pi pi.f
|
||||||
nan? infinite?
|
nan? infinite?
|
||||||
|
positive-integer?
|
||||||
|
negative-integer?
|
||||||
|
nonpositive-integer?
|
||||||
|
nonnegative-integer?
|
||||||
sqr
|
sqr
|
||||||
sgn conjugate
|
sgn conjugate
|
||||||
sinh cosh tanh
|
sinh cosh tanh
|
||||||
|
@ -30,6 +34,18 @@
|
||||||
(unless (real? x) (raise-argument-error 'infinite? "real?" x))
|
(unless (real? x) (raise-argument-error 'infinite? "real?" x))
|
||||||
(or (= x +inf.0) (= x -inf.0)))
|
(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
|
;; 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))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user