Message167323
On 03/08/12 22:06, Mark Dickinson wrote:
>
>> Decimal('snan').is_nan() just returns true and I am under the impression
>> that IEEE 754 specifies the same.
>
> Sure, but IEEE 754 also specifies that math.sqrt(<signalling nan>) should
> signal. Since both math.sqrt and math.isnan are going through __float__,
> we can't keep everyone happy here.
Is it necessarily a given that math.isnan *must* go through __float__? If it
were written in Python, it would be a simple matter of including
if isinstance(x, Decimal) and x.isnan(): return True
before the conversion to float. By I have no idea whether that is practical in
the math module.
> The question for me is really what __float__ should do. IEEE 754 doesn't
> help here, since it doesn't cover decimal floating-point<-> binary
> floating-point conversions.
Until such time that floats officially support snans, I think ValueError is
the right behaviour. |
|
Date |
User |
Action |
Args |
2012-08-03 13:03:38 | steven.daprano | set | recipients:
+ steven.daprano, mark.dickinson, skrah |
2012-08-03 13:03:37 | steven.daprano | link | issue15544 messages |
2012-08-03 13:03:36 | steven.daprano | create | |
|