Message361111
The relevant piece of Python code from fractions.py looks like this:
if type(numerator) is int is type(denominator):
# *very* normal case
g = math.gcd(numerator, denominator)
if denominator < 0:
g = -g
else:
g = _gcd(numerator, denominator)
I wonder whether we should simply drop the type check: math.gcd should accept anything that supports __index__ (and that includes NumPy integer types and anything that implements numbers.Integral).
OTOH, math.gcd will return a plain int, and if we have some subclass myint of int, we might want all the arithmetic to stay in the domain of myints (though I'm not really sure _why_ we'd want that). In that case we'll need to restore the pure Python _gcd implementation. |
|
| Date |
User |
Action |
Args |
| 2020-01-31 14:44:47 | mark.dickinson | set | recipients:
+ mark.dickinson, vstinner, hroncok |
| 2020-01-31 14:44:47 | mark.dickinson | set | messageid: <[email protected]> |
| 2020-01-31 14:44:47 | mark.dickinson | link | issue39350 messages |
| 2020-01-31 14:44:46 | mark.dickinson | create | |
|