Mark Dickinson added the comment:

> Why not add a is_nan() method to float numbers instead?

That could work.  The duplication of float.is_nan and math.isnan (not to 
mention the different spellings) would be a bit ugly, but perhaps worth it.  It 
would make sense to add float.is_infinite and (possibly) float.is_finite 
methods at the same time.

Looks like we've got two separate issues here, that should probably be split 
into two separate bug reports.  The first issue is that Decimal.__float__ is 
brain-dead when it comes to NaNs with payloads;  I consider that a clear bug, 
and Steven's patch fixes it nicely for the Python version of decimal.  The 
second has to do with finding a nice type-agnostic way of determing whether 
something is a NaN---anyone mind if I open a separate issue for this?

W.r.t. the first issue:  Steven, thanks for the patch;  looks fine to me at 
first glance.

Two questions:  (1) What would you think about raising ValueError explicitly 
for the signaling NaN case rather than falling back to the ValueError coming 
from the string-to-float conversion.  I think the intentions of the code would 
be a little clearer that way;  and we get to choose a more informative error 
message that way, too.  (2) Should we apply the fix to 2.7 and/or 3.2 as well?

I'll look at extending Steven's fix to the cdecimal code, unless Stefan really 
wants to do it (which would be fine with me :-).

----------
assignee:  -> mark.dickinson
versions: +Python 2.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15544>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to