gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] Re: [Maxima] float to bfloat


From: Steve Haflich
Subject: Re: [Gcl-devel] Re: [Maxima] float to bfloat
Date: Fri, 30 Jan 2004 14:19:17 -0800

   From: Raymond Toy <address@hidden>
   
   I think it was in one of Kahan's papers.  But it was talking about the
   FPU signaling an overflow.  The register would have useful
   information.  If you don't signal the overflow, then you'd get a
   infinity, which doesn't have room for anything else, as you say.

OK, makes sense.  Many fpus have implementation-dependent status bits
controlling whether and how the unit signals traps.  As I've groused
ill-naturedly before, it is hard to keep these bits from being tweaked
and not restored correctly by foreign libraries or even system
software.
   
   Like you, I rather like integer-decode-float signaling an error, but I
   didn't see anything really wrong with it.  But then you'd need some
   other way of determining if the output of i-d-f represented infinity
   or NaN.  I like cmucl providing float-infinity-p and float-nan-p, if
   that is really necessary or just handling the error from i-d-f.

Allegro has similar functions for NaNs and infinities, but they are
not exported.  Probably the exact mechanism whereby i-d-f informs
about exceptional floats is less important a design consideration than
the fact that it should do it one way or another.

By the way, although I don't consider myself a Maxima developer, I'd
like to explain tangentially why I sometime chime in on the side of
Common Lisp Compatibility In Maxima language details.  It is one thing
-- and certainly a very good thing -- to package Maxima as a closed,
easily-installed package for popular platforms.  The UI and graphingh
capabilities in that environment are crucial, much more important than
the invisible details how Maxima and Lisp work inside.

But there is another class of potential users, those who would treat
Maxima as a symbolic computation library internal to some other
application.  This community has little interest in the UI etc., but
they do need Maxima to cooperate with Common Lisp and to have calling
and representation conventions that aren't at odds with the rest of
the programming language.  (Franz has a certain corporate customer
with a very important engineering package that uses Maxima in this
way.  The program is more than a decade old and has saved untold
zillions of dollars in engineering process efficiency.)  The argument
could be made that the value of Maxima is contained in its
computational capabilities and libraries, and the UI etc. is an
unpleasant price you have to pay in order to access that value.  I
suggest the developer community in its zeal to package up a slick
self-contained symbolic mathematic application shouldn't forget about
this other potential community.




reply via email to

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