(flo:untrap-exceptions! exceptions)
(procedure))))
-(define flo:nan.0)
+(define (flo:nan.0)
+ (flo:make-nan #f #t 0))
+
(define flo:+inf.0)
(define flo:-inf.0)
;;; ZERO can be eliminated after 9.3 is released. It works around
(let ((zero (lambda () (identity-procedure 0.))))
(if (flo:have-trap-enable/disable?)
(begin
- (set! flo:nan.0
- (named-lambda (flo:nan.0)
- (flo:with-exceptions-untrapped (flo:exception:invalid-operation)
- (lambda ()
- (flo:/ 0. (zero))))))
(set! flo:+inf.0
(named-lambda (flo:+inf.0)
(flo:with-exceptions-untrapped (flo:exception:divide-by-zero)
unspecific)
;; This works on macOS. YMMV.
(begin
- (set! flo:nan.0 (named-lambda (flo:nan.0) (flo:/ 0. (zero))))
(set! flo:+inf.0 (named-lambda (flo:+inf.0) (flo:/ +1. (zero))))
(set! flo:-inf.0 (named-lambda (flo:-inf.0) (flo:/ -1. (zero))))
unspecific)))
\ No newline at end of file