aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
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/algebra
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/algebra')
-rw-r--r--src/algebra/clip.spad.pamphlet4
-rw-r--r--src/algebra/plot.spad.pamphlet6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/algebra/clip.spad.pamphlet b/src/algebra/clip.spad.pamphlet
index d4eaf937..6be59d84 100644
--- a/src/algebra/clip.spad.pamphlet
+++ b/src/algebra/clip.spad.pamphlet
@@ -89,10 +89,10 @@ TwoDimensionalPlotClipping(): Exports == Implementation where
norm: Pt -> SF
iClipParametric: (L L Pt,RN,RN) -> CLIPPED
findPt: L L Pt -> Union(Pt,"failed")
- Fnan?: SF ->Boolean
Pnan?:Pt ->Boolean
- Fnan? x == x~=x
+ Fnan?(x: SF): Boolean == %fNaN?(x)$Foreign(Builtin)
+
Pnan? p == any?(Fnan?,p)
iClipParametric(pointLists,fraction,scale) ==
diff --git a/src/algebra/plot.spad.pamphlet b/src/algebra/plot.spad.pamphlet
index 664e3036..4d3208fc 100644
--- a/src/algebra/plot.spad.pamphlet
+++ b/src/algebra/plot.spad.pamphlet
@@ -154,7 +154,6 @@ Plot(): Exports == Implementation where
basicPlot : (F -> P,R) -> C
basicRefine : (C,R) -> C
pt : (F,F) -> P
- Fnan? : F -> Boolean
Pnan? : P -> Boolean
--% representation
@@ -175,7 +174,7 @@ Plot(): Exports == Implementation where
ANGLEBOUND: F := cos inv (4::F)
DEBUG: B := false
- Fnan?(x) == x ~= x
+ Fnan?(x: F): Boolean == %fNaN?(x)$Foreign(Builtin)
Pnan?(x) == any?(Fnan?,x)
--% graphics output
@@ -284,7 +283,8 @@ Plot(): Exports == Implementation where
xDiff = 0 or yDiff = 0 => curve
l := lo tRange; h := hi tRange
(tDiff := h-l) = 0 => curve
--- if (%sptreq(yDiff, quietDoubleNaN()$Lisp)$Foreign(Builtin)) then yDiff := 1::F
+ if %fNaN?(yDiff)$Foreign(Builtin) then
+ yDiff := 1@F
t := curve.knots
#t < 3 => curve
p := curve.points; f := curve.source