aboutsummaryrefslogtreecommitdiff
path: root/src/lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-06-21 00:32:24 +0000
committerdos-reis <gdr@axiomatics.org>2011-06-21 00:32:24 +0000
commitb529872b2c3aeca9f9994b94c392383baea2c84a (patch)
treed69119cbfb471d49b926a555f9a68a6624df37ae /src/lisp
parente4656a0388e8fa12594788b216b42bb04680d9d5 (diff)
downloadopen-axiom-b529872b2c3aeca9f9994b94c392383baea2c84a.tar.gz
* lisp/core.lisp.in (%fNaN?): New.
* interp/spaderror.lisp (trapNumericErrors): Handle ARITHMETIC-ERROR too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fNaN?. * algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it. * algebra/plot.spad.pamphlet (Plot): Likewise.
Diffstat (limited to 'src/lisp')
-rw-r--r--src/lisp/core.lisp.in11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in
index 87155ec3..64dd3a7d 100644
--- a/src/lisp/core.lisp.in
+++ b/src/lisp/core.lisp.in
@@ -183,6 +183,9 @@
"bootImport"
"CONCAT"
"$EditorProgram"
+
+ ;; numeric support
+ "%fNaN?"
))
(in-package "AxiomCore")
@@ -1325,6 +1328,14 @@
(pushnew #'shoe-provide-module sb-ext:*module-provider-functions*))
;;
+;; -*-* Numerics support -*-
+;;
+(defmacro |%fNaN?| (x)
+ #+:sbcl `(sb-ext:float-nan-p ,x)
+ #+:ecl `(ext:float-nan-p ,x)
+ #-(or :sbcl :ecl) `(/= ,x ,x))
+
+;;
;; -*- Native Datatype correspondance -*-
;;