New submission from Robert Snoeberger:
>>> import fractions
>>> fractions.gcd(16, float('inf'))
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
fractions.gcd(16, float('inf'))
File "C:\Python34-32bit\lib\fractions.py", line 24, in gcd
a, b = b, a%b
KeyboardInterrupt
>>> fractions.gcd(16, float('nan'))
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
fractions.gcd(16, float('nan'))
File "C:\Python34-32bit\lib\fractions.py", line 24, in gcd
a, b = b, a%b
KeyboardInterrupt
>>>
With the iterative algorithm that is used
a, b = b, a%b
b converges to float('nan'). It will never become 0 to break out of the loop.
It might be nice to error when the iteration has converged b to a value other
than 0.
----------
components: Library (Lib)
messages: 225576
nosy: snoeberger
priority: normal
severity: normal
status: open
title: fractions.gcd results in infinite loop when nan or inf given as
parameter.
type: enhancement
versions: Python 3.4
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue22238>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com