
On Monday 08 December 2008 22:26:40 Gordon Woodhull wrote:
Yes, floating point predicates should be a separate library, and the floating point FUD should be removed from the documentation as well.
The points made about floating point are not FUD. They are facts of life for people working with high precision floating point computations; in fact, a lot of such computations go through severe contortions to avoid/mitigate said problems without compromising performance too much. Just as an example, try summing an array of 1000 normally distributed doubles naively and with atlas (or any other optimized BLAS); you will see that the actual result (not the computation time) differs because the optimized BLAS takes into account the vagaries of floating point computation. Given that there are so many facets of floating point computations that are unclear even to those on this list, providing a library with a lot of built-in assumptions about epsilons and the like would be a support headache for a long time. It is very easy to be misled about the effects of floating point computations on commodity hardware. Regards, Ravi PS: This discussion reminds me very much about the floating point serialization discussion a few weeks back. Working with floating points requires deep domain expertise in the general case; the best solution, in my humble opinion, is to simply wrap the work of the HPC community rather than reinvent the (very complicated) wheel.