On Fri, Jan 6, 2012 at 3:16 PM, Edwin Woollett <woollett at charter.net> wrote:
> For linear divergence, quad_qagi issues a console
> warning and some error code number > 2 as
> a warning.
>
> [snip]
> But for exponential divergence, there is no console warning, and an error
> code = 0 is returned. The user needs to see the occurrence of #INF in the
> returned answer to infer the software/machine limit has
> been reached.
>
> ------------------------------**----------------
> (%i2) quad_qagi(%e^x,x,0,inf);
>
> (%o2) [1..#INF00e+000E+2288952,1..#**INF00e+000E+2288952,75,0]
> ------------------------------------------
>
>
This is really an issue with gcl. It looks like gcl doesn't signal an
errors on overflow and uses infinities instead. Other lisps (cmucl and
ccl) do signal errors which are silently caught and a noun form is returned.
I suppose the routines could check that no infinities or NaNs are returned
in the result.
Ray