On Thu, Mar 25, 2010 at 04:18, Steven D'Aprano <[email protected]> wrote:
> def myfunc(x, y):
> if x == y:
> return 1.0
> else:
> return something_complicated**(x-y)
>
>
> Optimising floating point code is fraught with dangers (the above fails
> for x=y=INF as well as NAN) but anything that make Not A Numbers
> pretend to be numbers is a bad thing.
What about this:
def myfunc(x):
if x >= THRESHOLD:
return 1.0
else:
return something_complicated(x)
If one behaves right it's more likely a fluke, not a designed in
feature. It's certainly not obvious without covering every comparison
with comments.
Maybe that's the solution. Signal by default on comparison, but add a
collection of naneq/naneg/etc functions (math module, methods,
whatever) that use a particular quiet mapping, making the whole thing
explicit?
--
Adam Olsen, aka Rhamphoryncus
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com