gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Maxima-discuss] Careful arithmetic ... was Re: +-Inf and NaN


From: Raymond Toy
Subject: Re: [Maxima-discuss] Careful arithmetic ... was Re: +-Inf and NaN
Date: Tue, 5 Mar 2024 07:17:47 -0800



On Tue, Mar 5, 2024 at 6:05 AM Camm Maguire <camm@maguirefamily.org> wrote:
Greetings!

Richard Fateman <fateman@gmail.com> writes:

> 2. fix sbcl flags so that the handler still works after the first floating-point error..

Not sure about sbcl, but this sounds like the standard IEEE SIGFPE
handling in which it is impossible to continue or return from the
instruction raising the signal without disabling the trap.  One can
lonjmp somewhere else leaving the trap in place.  It is not clear if
this explains your results as it does not appear you are trying to
continue.  See the following in GCL:

=============================================================================

>(fpe::break-on-floating-point-exceptions :floating-point-overflow t)

(:FLOATING-POINT-OVERFLOW)

>(expt 2.0 1000000)

Correctable error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by EXPT.
If continued: Continue disabling floating point exception trapping
INTERNAL-SIMPLE-FLOATING-POINT-OVERFLOW:
Arithmetic error when performing (:INSN "mulsd  0x8(%rsp),%xmm0 ;" :OP ...) on (1.3407807929942598E154 1.3407807929942598E154):

Broken at EXPT.  Type :H for Help.
    1 (continue) Continue disabling floating point exception trapping
    2  Return to top level.
>>1

#<inf>

Is this the current development version of gcl?  What's the difference between continuing and aborting here?  Does this mean that if I had done (* 10 (expt 2d0 100000)) and selected the continue restart, I would have gotten #<inf>?
If I had selected option 2, would the traps be preserved?


--
Ray

reply via email to

[Prev in Thread] Current Thread [Next in Thread]