I believe there is a GMP interval package. There are
lots of nasty things that could benefit from a comparative
analysis ... see what Mathematica, Maple, perhaps Singular
etc. have done.
Making floats continuously variable in precision in some
consistent way (e.g. have a high precision NaN?) would
be one thought. But do we really need this? Why not single,
double, quad, double-quad, and then expensive stuff? What happens
when a hardware float exceeds its exponent range, but doesn't
need more precision? This is dealt with in Bailey's MPFUN.)
Making intervals of rational endpoints is another thought.
Problem is that the description of the endpoint grows, and there
is a tradeoff here that makes rational endpoints usually
a bad idea.
Importing NaN, Undefined, Inf from the IEEE float world is
probably not a great idea. It is a rathole which helps in
the impoverished world where everything must fit into 32 or
64 bits, but we have the world of symbols, lists, etc.
And then there is a tradeoff of speed vs generality, and
the speedsters don't want to run slowly for stuff they don't
use.
The web pages of Kahan ( http://www.cs.berkeley.ed/~wkahan )
can tell you lots of things that can and do go wrong. A
complete description of a perfect numeric system for a
symbolic program may be more than a casual trapse through
this. It may be more like a PhD dissertation.
RJF
Stavros Macrakis wrote:
>> Barton> I don't think CL supports setting the floating point
>> Barton> rounding mode (maybe CMUCL does as an extension); at
>>Definitely true. Plus getting rounding right on x86 is pretty
>>difficult with its 80-bit registers.
>
>
> Yes, it would be nice to use the IEEE floating-point rounding modes, but
> unless/until we get full IEEE floating-point support out of CL (it would
> be nice to have extended precision and NaNs, too), there are
> workarounds:
>
> 1) Do the round-up/down "by hand" by explicit calculation.
>
> 2) Only do the approximate thing for machine floats, but implement full
> rounding modes for bfloats.
>
> 3) Just use bfloats that are long enough that you don't need to bother
> with rounding modes. This is trivial to implement, though slow....
>
> -s
>
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima