;;;; type-checks-numbers.flonum.scm -*- Scheme -*- (module (type-checks-numbers flonum) (;export check-flonum check-float check-positive-flonum check-non-negative-flonum check-negative-flonum check-non-positive-flonum) (import scheme) (import (chicken base)) (import (chicken module)) (import (chicken type)) (import (chicken flonum)) (import type-checks-basic) (import (type-errors-numbers flonum)) (: check-float (* * #!optional * -> float)) (: check-flonum (* * #!optional * -> float)) (: check-positive-flonum (* * #!optional * -> float)) (: check-non-negative-flonum (* * #!optional * -> float)) (: check-negative-flonum (* * #!optional * -> float)) (: check-non-positive-flonum (* * #!optional * -> float)) (define (positive-flonum? x) (and (flonum? x) (fp< 0.0 x))) (define (non-negative-flonum? x) (and (flonum? x) (fp<= 0.0 x))) (define (negative-flonum? x) (and (flonum? x) (fp> 0.0 x))) (define (non-positive-flonum? x) (and (flonum? x) (fp>= 0.0 x))) (define-check-type flonum) (define check-float check-flonum) (define-check-type positive-flonum) (define-check-type non-negative-flonum) (define-check-type negative-flonum) (define-check-type non-positive-flonum) ) ;module (type-checks-numbers flonum)