detecting lisp overflow



>>>>> "Edwin" == Edwin Woollett <woollett at charter.net> writes:

    Edwin> If I call adaptive-plot (plot.lisp) appropriately with a function like
    Edwin> exp(x^3) to see what overflow
    Edwin> causes adaptive-plot to return, I get, for example,
    Edwin> the lisp list

What exactly are you trying to achieve?

Note that adaptive-float actually expects the function to have been
generated by coerce-float-fun, which takes care to handle arithmetic
errors and converts them to t.

    Edwin> (100.0 #<1.#INF00e+000> 100.24245689655172 #<1.#INF00e+000>
    Edwin>           100.48491379310344 #<1.#INF00e+000> 100.72737068965517
    Edwin>           #<1.#INF00e+000> 100.96982758620689 #<1.#INF00e+000> .....  )

    Edwin> I want to detect that this result is not a list of floating point numbers.

    Edwin> If I use either:

    Edwin>       (numberp  #<1.#INF00e+000> )

If you actually typed in #<1.#INF00e+000>, then you will get a lisp
error.  #<...> indicates something that can't be read back in.

But floating-point infinity is a number, so numberp would return t, if
you had entered it correctly.

You might be interested in the lisp functions float-nan-p and
float-inf-p available in maxima.

Ray