Bill,

I have already said that I think IEEE floats tend to give the wrong answer 
fast.  Better solutions are hard to come by, however, as they definately depend 
on the problem domain.

E.g. Apple's old plot program used interval arithmetic and did a great job 
with functions like x * sin(1/x) near zero.  You could zoom in time after time 
and still get an accurate plot -- where IEEE floats are useless. Interval math 
is also great when you have measurement error and you can't fool yourself 
about error analysis. It is sure helpful to know the difference between 
3.023+/-0.001 and 3.023+/-2e56 .    Interval math does have splits and it is 
sometimes useful to calculate the probability distribution of the value in the 
interval.  No perfect world, sigh.

If you are using ideal mathematics, on the other hand, there are exact real 
representations which can be used, but these are pretty heavy weight for day 
to day computing.

Another day; a little better approximation,
-KenD

>From: "Schwab,Wilhelm K" <bsch...@anest.ufl.edu>
...
>As for the zero vector, it is hard to say.  Note that a nearly zero vector
> is going to have a very poorly defined direction in that the result will
> likely be dominated by roundoff error.  Often there is a better way to
> compute such things; a rearrangment of governing equations can make a world
> of difference - that's not something you can fix, it will be
> problem-specific how one would avoid computing the argument in tricky
> situations.  One possible approach is to simply compute the angle the same
> way for all values and let under/over flow errors take care of the garbage.
>  Another would be to raise an error.  Finally, you might define #argument,
> #argumentIfSmall: (takes a block for the troublesome case) and
> #argumentIEEE to use their convetion.
>
>Something that deserves a careful look is the test for floats being close to
> each other.  I have been supicious about that for a while, and on first
> glance, Dolphin seems to handle it very differently from the way Squeak
> does.  IMHO, being different from Dolphin is cause for a good think.  We
> shouls also see how VW handles it.
>
>Just looking at #closeTo:, it appears to "think" that 10^-4 is a good
> threshold, and that is questionable depending on the scales involved, and
> is far from the smallest float that can be reasonable represented.
>
>Bill


_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to