Issue 3188: float('infinity') should be valid (original) (raw)

2.6 adds float('inf') and float('nan') as cross-platform ways to generate infinities and NaNs. The C99 standard (section 7.20.1.3, paragraph 3) specifies that 'infinity' (in any case, with optional preceding sign) should also be a valid input to strtod, and I propose that in Python float('infinity') should correspondingly be valid.

Note that the IEEE 754 standard also states that 'inf' and 'infinity' should be valid input string representations of infinity, and Python's decimal module also allows both 'inf' and 'infinity'.

A patch is attached.

Unless I'm mistaken, this change is simple and unlikely to be controversial. I plan to check it in in a week or two if there's no feedback before then.