[Python-Dev] Weekly Python Bug/Patch Summary
Michael Hudson
mwh at python.net
Thu Feb 19 13:04:10 EST 2004
"Tim Peters" <tim.one at comcast.net> writes:
> [Michael Hudson]
>> Would it make (more) sense to implement rich comparisons for floats?
>
> Not much.
But a little bit? It might at least make the results closer to what
the underlying C compiler does (modulo bugs in same, of course).
> There are 32 distinct theoretical binary comparison operators under
> 754 semantics (16 for which subset of {<, =, >, unordered} you're
> interested in, and then each of those comes in two flavors depending
> on whether you want a signaling NaN comparand to, or not to, raise
> an exception), and the standard "recommends" implementing something
> like 26 of them.
Well, we don't want an SNaN to S, Python has no concept of unordered.
That's down to 8. We don't care about the improper subsets of {<,
=, >}. That's 6. Rich comparisons.
>> I'm not enthusiastic about the patch that got pasted into the bug
>> report.
>
> That's dead on arrival -- apart from the dubious semantics it's trying to
> invent, it doesn't even work under MSVC 6 (which I've explained in the bug
> report). There's no reliable cross-platform C support for any of this
> stuff, therefore there's nothing Python can do about 754 oddballs without
> masses of platform-specific code (see fpectlmodule.c for a taste of that
> approach).
I realise it's a game of "pick your surprise", but the case mentioned
in the bug report is particularly, well, surprising.
Cheers,
mwh
--
"Also, does the simple algorithm you used in Cyclops have a name?"
"Not officially, but it answers to "hey, dumb-ass!"
-- Neil Schemenauer and Tim Peters, 23 Feb 2001
More information about the Python-Dev
mailing list