diff --git a/collects/rnrs/arithmetic/flonums-6.ss b/collects/rnrs/arithmetic/flonums-6.ss index 4dc088ad36..4d5ca26dfc 100644 --- a/collects/rnrs/arithmetic/flonums-6.ss +++ b/collects/rnrs/arithmetic/flonums-6.ss @@ -49,56 +49,24 @@ (define-fl abs flabs (a) nocheck) -(provide fldiv flmod fldiv-and-mod - fldiv0 flmod0 fldiv0-and-mod0) -(define (fldiv a b) - (unless (inexact-real? a) - (raise-type-error 'fldiv "flonum" a)) - (unless (inexact-real? b) - (raise-type-error 'fldiv "flonum" b)) - (if (zero? b) - +nan.0 - (div a b))) -(define (flmod a b) - (unless (inexact-real? a) - (raise-type-error 'flmod "flonum" a)) - (unless (inexact-real? b) - (raise-type-error 'flmod "flonum" b)) - (if (zero? b) - +nan.0 - (mod a b))) +(provide fldiv-and-mod + fldiv0-and-mod0) (define (fldiv-and-mod a b) (unless (inexact-real? a) (raise-type-error 'fldiv-and-mod "flonum" a)) (unless (inexact-real? b) (raise-type-error 'fldiv-and-mod "flonum" b)) - (if (zero? b) - (values +nan.0 +nan.0) - (div-and-mod a b))) + (div-and-mod a b)) +(define-fl div fldiv (a b) nocheck) +(define-fl mod flmod (a b) nocheck) (define (fldiv0-and-mod0 a b) (unless (inexact-real? a) (raise-type-error 'fldiv0-and-mod0 "flonum" a)) (unless (inexact-real? b) (raise-type-error 'fldiv0-and-mod0 "flonum" b)) - (if (zero? b) - (values +nan.0 +nan.0) - (div0-and-mod0 a b))) -(define (fldiv0 a b) - (unless (inexact-real? a) - (raise-type-error 'fldiv0 "flonum" a)) - (unless (inexact-real? b) - (raise-type-error 'fldiv0 "flonum" b)) - (if (zero? b) - +nan.0 - (div0 a b))) -(define (flmod0 a b) - (unless (inexact-real? a) - (raise-type-error 'flmod0 "flonum" a)) - (unless (inexact-real? b) - (raise-type-error 'flmod0 "flonum" b)) - (if (zero? b) - +nan.0 - (mod0 a b))) + (div0-and-mod0 a b)) +(define-fl div0 fldiv0 (a b) nocheck) +(define-fl mod0 flmod0 (a b) nocheck) (define (flnumerator c) (if (inexact-real? c)