Waldek Hebisch <[EMAIL PROTECTED]> writes:

> I wrote:
> > 
> > Exceptions are expected -- we have error handler which is supposed
> > to catch them.  We have to find what is wrong with error handling.
> > 
> 
> Look at DRAWCFUN.spad, in particular myTrap1 -- it is supposed to
> catch all numeric errors.

I did, but the error occurs outside of drawcfun.

draw calls drawPlot calls clipParametric, which in turn believes that no errors
can occur anymore.  Only in the computation itself errors are trapped via
myTrap.

In iClipParametric, there are several places where errors can occur:

      sortedList := sort(norm(#1) < norm(#2),select(not Pnan? #1,concat
      pointLists))

(in the error I discovered occurs in norm)

      xDiff := xMax - xMin; yDiff := yMax - yMin

(xMax could be max()$DFLOAT, xMin could be min()$DFLOAT, but it's hard to tell
without thinking...)

      xMin := xMin - (numm :: SF) * xDiff / (denn :: SF)

(didn't check)

Note that there is a rather strange check

    Fnan?: SF ->Boolean
    Fnan? x == x~=x

done at some places, in particular in norm:

    norm(pt) == 
      x := xCoord(pt); y := yCoord(pt)
      if Fnan? x then
        if Fnan? y then
          r:SF := 0
        else
          r:SF := y**2
      else
        if Fnan? y then
          r:SF := x**2
        else
          r:SF := x**2 + y**2
      r

I suppose that this works in some lisps, but is probably not standard.

How to proceed?

Martin


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to fricas-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to