As requested on the bug tracker, I've submitted a pull request for
is_integer() support on the other numeric types.
https://github.com/python/cpython/pull/6121

These are the tactics I used to implement it:

- float: is_integer() already exists, so no changes

- int:  return True

- Real: return x == int(x). Although Real doesn't explicitly support
conversation to int with __int__, it does support conversion to int with
__trunc__. The int constructor falls back to using __trunc__.

- Rational (also inherited by Fraction): return x.denominator == 1 as
Rational requires that all numbers must be represented in lowest form.

- Integral: return True

- Decimal: expose the existing dec_mpd_isinteger C function to Python as
is_integer()
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to