octave-maintainers
[Top][All Lists]
Advanced

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

Re: NaN-toolbox much faster now


From: Jason Riedy
Subject: Re: NaN-toolbox much faster now
Date: Mon, 23 Mar 2009 16:09:44 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)

And Jaroslav Hajek writes:
> I'm not sure I understand you well (I don't know anywhere as much as
> you about the IEEE fp), but are you saying that with certain hardware
> and software support, it is possible to check whether NaNs occured
> *without* inserting software checks into every operation?

Yes.  The main problem is scoping the checks appropriately.  An
external library might generate NaNs and handle them internally
but not clear the invalid flag.  LAPACK's MRRR eigenvalue solvers
do this, alas.

The push-back against using modern Fortran in LAPACK is *huge*,
so don't bet on our isolating the exceptional flags via F03's
support any time soon.

> If yes, I think it would be nice to have that in Octave, even if it
> would work only on some systems and require configure testing.

Access via C99's fetestexcept (FE_INVALID) is documented well
in GNU libc's manual:
  http://www.gnu.org/software/libc/manual/html_node/Status-bit-operations.html

And at some point, Octave also should set its operating mode when
used as a library:
  http://www.gnu.org/software/libc/manual/html_node/Control-Functions.html
These also can help isolate exceptional conditions when calling
external code, but that's deep surgery.

These all involve more mucking with the build system, testing
across many platforms, etc.  So post-3.2, and the implementation
trade-offs might be worth a short paper in TOMS.

Jason


reply via email to

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