flonum? returns false for complex number objects.

Fixes <http://bugs.gnu.org/14866>.
Reported by Göran Weinholt <goran@weinholt.se>.

* module/rnrs/arithmetic/flonums.scm (flonum?): Use 'real?' instead of
  'number?'.

* test-suite/tests/r6rs-arithmetic-flonums.test (flonum?): Add tests.
This commit is contained in:
Mark H Weaver 2013-07-16 03:38:27 -04:00
commit ff5568389c
2 changed files with 5 additions and 2 deletions

View file

@ -66,7 +66,7 @@
(rnrs lists (6))
(rnrs r5rs (6)))
(define (flonum? obj) (and (number? obj) (inexact? obj)))
(define (flonum? obj) (and (real? obj) (inexact? obj)))
(define (assert-flonum . args)
(or (for-all flonum? args) (raise (make-assertion-violation))))
(define (assert-iflonum . args)