Don wrote:
I'm personally pretty upset about the existence of that function at all.
My very first contribution to D was a function for floating point
approximate equality, which I called approxEqual.
It gives equality in terms of number of bits. It gives correct results
in all the tricky special cases. Unlike a naive relative equality test
involving divisions, it doesn't fail for values near zero. (I _think_
that's the reason why people think you need an absolute equality test as
well).
And it's fast. No divisions, no poorly predictable branches.
I totally agree that a precision based on the number of bits, not the magnitude,
is the right approach.
Unfortunately, somebody on the ng insisted that it should be called
feqrel(). Stupidly, I listened. And now nobody uses my masterpiece
because it has a totally sucky name.
Names matter!