robert.kern at gmail.com
Tue Mar 16 16:06:10 CET 2010
On 2010-03-16 07:35 AM, Dave Angel wrote:
> Carl Banks wrote:
>> On Mar 15, 4:34 pm, JLundell <jlund... at pobox.com> wrote:
>>> It's also unfortunate that Python doesn't have an approximately-equal
>>> operator; it'd come in handy for floating-point applications while
>>> preserving hash. If only there were a ~=r ≈ operator I could
>>> overload. And ~ is unary, so no joy.
>> One problem with it is that there's no way to make it universal;
>> different appiplications have different ideas of close. Conceivably
>> it could be usefully defined for a user type though..
>> Bacause of this problem almost no languages have an almost equal
>> operator. I'm curious what languages do, of if there are any with a
>> trinary operator that also takes a threshold.
>> Carl Banks
> If I recall correctly, APL has a *fuzz* value, which is used in all(?)
> comparisons. But I do not recall anything about how it was defined. I do
> recall that you could change the threshold, and suspect it was relative
> to the operands. For symmetry, it would probably have to be relative to
> the average of the two values, or some such.
The problem is that frequently there is no system-wide fuzz value which is
appropriate for all comparisons in a given program. You need to choose the right
value for each comparison. Consequently, you might as well use a function
instead of an operator and a global variable.
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list