mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-18 23:32:17 -08:00
numlib: trap-fpe on inf constant definitions
This commit is contained in:
parent
06347ae9d5
commit
33699e142f
1 changed files with 13 additions and 9 deletions
|
|
@ -74,15 +74,19 @@
|
|||
))
|
||||
|
||||
#+ieee-floating-point
|
||||
(let ((inf (si::infinity)))
|
||||
(defconstant short-float-positive-infinity (coerce inf 'short-float))
|
||||
(defconstant short-float-negative-infinity (coerce (- inf) 'short-float))
|
||||
(defconstant single-float-positive-infinity (coerce inf 'single-float))
|
||||
(defconstant single-float-negative-infinity (coerce (- inf) 'single-float))
|
||||
(defconstant double-float-positive-infinity (coerce inf 'double-float))
|
||||
(defconstant double-float-negative-infinity (coerce (- inf) 'double-float))
|
||||
(defconstant long-float-positive-infinity (coerce inf 'long-float))
|
||||
(defconstant long-float-negative-infinity (coerce (- inf) 'long-float)))
|
||||
(let ((bits (si:trap-fpe 'last nil)))
|
||||
(unwind-protect
|
||||
(locally (declare (notinline -))
|
||||
(let ((inf (si:infinity)))
|
||||
(defconstant short-float-positive-infinity (coerce inf 'short-float))
|
||||
(defconstant short-float-negative-infinity (coerce (- inf) 'short-float))
|
||||
(defconstant single-float-positive-infinity (coerce inf 'single-float))
|
||||
(defconstant single-float-negative-infinity (coerce (- inf) 'single-float))
|
||||
(defconstant double-float-positive-infinity (coerce inf 'double-float))
|
||||
(defconstant double-float-negative-infinity (coerce (- inf) 'double-float))
|
||||
(defconstant long-float-positive-infinity (coerce inf 'long-float))
|
||||
(defconstant long-float-negative-infinity (coerce (- inf) 'long-float))))
|
||||
(si:trap-fpe bits t)))
|
||||
|
||||
(defconstant imag-one #C(0.0 1.0))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue