> The new code uses running error analysis ...
Nice!
> a global variable specfun_float_error to store the error estimate
> for the *last* numerical evaluation
This is pretty grotty, as you say, but I can't think of a better
solution that doesn't require major surgery.
> Is somebody interested and willing to blend a floating-point-interval
> type into Maxima?
Yes, I'm interested. As I said on Feb 21:
> Ideally, we'd rework Maxima so that it generalizes its notion of
number
> to include not just integers, rats, and bigfloats, but also complexes,
> intervals, etc...
HOWEVER:
> most parts of Maxima handle the closed set of known numeric
> types (integer, float, RAT, bigfloat) ad hoc. That is, there is no
> information hiding, so it is very painful to add a new numeric type.
It is a HUGE amount of work to add a new built-in numeric type,
especially since each kind of number has slightly different properties.
A simple workaround would define an operator Interval with appropriate
patterns, but this would (a) be horribly inefficient and (b) not be
integrated (and so not work in a lot of cases).
While we were at it, I'd want to make sure that INF, IND, etc. (which
are a sort of number) were handled properly in the simplifier.
Currently, inf-inf => 0, for example.
-s